Télécharger un état des coûts

Télécharger un rapport sur les coûts dans Billing and Cost Management,

Un rapport sur les coûts est un fichier stocké en tant qu'objet dans un bucket. Pour obtenir des informations générales sur le téléchargement d'un objet, reportez-vous à Téléchargement d'un objet Object Storage.

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

    1. Sur 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 sur les coûts, reportez-vous à la rubrique Liste des rapports sur les coûts.
    2. Dans le menu Actions Menu Actions du rapport sur les coûts, sélectionnez Télécharger le rapport.
  • Remarque

    Les rapports sur les coûts sont stockés dans la région d'origine de la location. L'espace de noms Object Storage utilisé pour les rapports est bling. Le nom du bucket est l'OCID de la location.

    Utilisez la commande oci os object get et les paramètres requis pour télécharger les rapports sur les coûts 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 du kit SDK Python indiqué 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 obtenir la liste complète des paramètres et des valeurs des commandes de la CLI, reportez-vous à la référence des commandes de la CLI.

  • Remarque

    Les rapports sur les coûts sont stockés dans la région d'origine de la location. L'espace de noms Object Storage utilisé pour les rapports est bling. Le nom du bucket est l'OCID de la location.

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

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

    Remarque

    Cet exemple a un OCID de location spécifique car les rapports sont stockés dans un bucket Object Storage appartenant à Oracle et hébergé par Oracle Cloud Infrastructure, et non par une location du 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')