Téléchargement d'un rapport sur les coûts

Télécharger un rapport de coûts dans Billing and Cost Management.

Un rapport de coût est un fichier stocké en tant qu'objet dans un seau. Pour des informations générales sur le téléchargement d'un objet, voir Téléchargement d'un objet de stockage d'objets.

Pour plus d'informations sur la liste des rapports de coûts, voir : Liste des rapports de coûts.

    1. Dans la page de liste Rapports sur les coûts et l'utilisation, recherchez le rapport sur les coûts à télécharger. Si vous avez besoin d'aide pour trouver la page de liste ou le rapport de coûts, voir Liste des rapports de coûts.
    2. Dans le menu Actions Menu Actions du rapport de coûts, sélectionnez Télécharger le rapport.
  • Note

    Les rapports de coût sont stockés dans la région principale de la location. L'espace de noms du stockage d'objets utilisé pour les rapports est bling. Le nom du seau est l'OCID de la location.

    Utilisez la commande oci os object get et les paramètres requis pour télécharger les rapports de coût dans la location :

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

    Exemple (référencez l'exemple de code de la trousse SDK Python illustré dans la tâche d'API) :

    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

    Pour la liste complète des paramètres et des valeurs pour les commandes de l'interface de ligne de commande, voir Informations de référence sur les commandes de l'interface de ligne de commande.

  • Note

    Les rapports de coût sont stockés dans la région principale de la location. L'espace de noms du stockage d'objets utilisé pour les rapports est bling. Le nom du seau est l'OCID de la location.

    Exécutez l'opération GetObject pour télécharger un rapport de coûts.

    L'exemple suivant montre comment télécharger un rapport sur les coûts à l'aide d'un script Python :

    Note

    Cet exemple mentionne un OCID de location spécifique, car les rapports sont stockés dans un seau de stockage d'objets appartenant à Oracle hébergé dans Oracle Cloud Infrastructure, et non dans la location d'un client.
    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')