Kostenbericht herunterladen

Laden Sie einen Kostenbericht in Fakturierungs- und Kostenmanagement herunter.

Ein Kostenbericht ist eine Datei, die als Objekt in einem Bucket gespeichert ist. Allgemeine Informationen zum Herunterladen eines Objekts finden Sie unter Object Storage-Objekt herunterladen.

Informationen zum Auflisten von Kostenauswertungen finden Sie unter Kostenauswertungen auflisten.

    1. Suchen Sie auf der Listenseite Kosten- und Nutzungsberichte den Kostenbericht, den Sie herunterladen möchten. Wenn Sie Hilfe beim Suchen der Listenseite oder des Kostenberichts benötigen, finden Sie weitere Informationen unter Kostenberichte auflisten.
    2. Wählen Sie im Menü "Aktionen" Menü "Aktionen" für den Kostenbericht die Option Bericht herunterladen aus.
  • Hinweis

    Kostenberichte werden in der Hauptregion des Mandanten gespeichert. Der für die Berichte verwendete Object Storage-Namespace lautet bling. Der Bucket-Namen ist die Mandanten-OCID.

    Verwenden Sie den Befehl oci os object get und die erforderlichen Parameter, um Kostenberichte im Mandanten herunterzuladen:

    oci os object get --bucket-name bucket-name --name object-name --file file-name

    Beispiel (siehe Beispiel für den Python-SDK-Code in der API-Aufgabe):

    oci os object get --namespace-name bling --bucket-name {customer_tenancy_ocid}  --name reports/usage-csv/{report_name}.csv.gz --file {local_report_name}.csv.gz

    Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in der CLI-Befehlsreferenz.

  • Hinweis

    Kostenberichte werden in der Hauptregion des Mandanten gespeichert. Der für die Berichte verwendete Object Storage-Namespace lautet bling. Der Bucket-Namen ist die Mandanten-OCID.

    Führen Sie den Vorgang GetObject aus, um einen Kostenbericht herunterzuladen.

    Das folgende Beispiel zeigt, wie ein Kostenbericht mit einem Python-Skript heruntergeladen wird:

    Hinweis

    Dieses Beispiel verfügt über eine bestimmte Mandanten-OCID, da die Berichte in einem Objektspeicher-Bucket von Oracle gespeichert sind, der von Oracle Cloud Infrastructure gehostet wird und nicht vom Mandanten eines Kunden.
    import oci
    import os
                                   
    # This script downloads all of the cost, usage, (or both) reports for a tenancy (specified in the config file).
    #
    # Pre-requisites: Create an IAM policy to endorse users in your tenancy to read cost reports from the OCI tenancy.
    #
    # Example policy:
    # define tenancy reporting as ocid1.tenancy.oc1..aaaaaaaaned4fkpkisbwjlr56u7cj63lf3wffbilvqknstgtvzub7vhqkggq
    # endorse group <group_name> to read objects in tenancy reporting
    #
    # Note - The only value you need to change is the <group_name> with your own value. Do not change the OCID in the first statement.
                                   
    reporting_namespace = 'bling'
                                   
    # Download all usage and cost files. You can comment out based on the specific need:
    prefix_file = ""                       #  For cost and usage files
    # prefix_file = "reports/cost-csv"     #  For cost
    # prefix_file_focus = "FOCUS Reports"  #  For FOCUS reports
                                   
    # Update these values
    destintation_path = 'downloaded_reports'
                                   
    # Make a directory to receive reports
    if not os.path.exists(destintation_path):
        os.mkdir(destintation_path)
                                   
    # Get the list of reports
    config = oci.config.from_file(oci.config.DEFAULT_LOCATION, oci.config.DEFAULT_PROFILE)
    reporting_bucket = config['tenancy']
    object_storage = oci.object_storage.ObjectStorageClient(config)
    report_bucket_objects = oci.pagination.list_call_get_all_results(object_storage.list_objects, reporting_namespace, reporting_bucket, prefix=prefix_file)                          
    for o in report_bucket_objects.data.objects:
        print('Found file ' + o.name)
        object_details = object_storage.get_object(reporting_namespace, reporting_bucket, o.name)
        filename = o.name.rsplit('/', 1)[-1]
                                   
        with open(destintation_path + '/' + filename, 'wb') as f:
            for chunk in object_details.data.raw.stream(1024 * 1024, decode_content=False):
                f.write(chunk)
                                   
        print('----> File ' + o.name + ' Downloaded')