コストまたは使用状況レポートのダウンロード
コストまたは使用状況レポートをダウンロードします。
コストまたは使用状況レポートをダウンロードするには: 次の例のオブジェクト・ストレージlistおよびgetコマンドを使用して、コストまたは使用状況レポートをリストおよびダウンロードします。これらは、APIタスクに示されているPython SDKコード例に相当するOCI CLIコマンドです。
Oracle管理ネームスペースの"bling"およびバケット(顧客テナンシOCID)から、すべてのコストおよび使用状況レポートをリストします。
oci os object list --namespace-name bling --bucket-name {customer_tenancy_ocid} --all
Oracle管理ネームスペースの"bling"およびバケット(顧客テナンシOCID)の2つのコストおよび使用状況レポートをリストします。
oci os object list --namespace-name bling --bucket-name {customer_tenancy_ocid} --limit 2
Oracle管理ネームスペース"bling"および"reports/cost-csv"という接頭辞が付いたバケット(顧客テナンシOCID)のすべてのコスト・レポート:
oci os object list --namespace-name bling --bucket-name {customer_tenancy_ocid} --prefix reports/cost-csv --all
Oracle管理ネームスペース"bling"およびバケット(顧客テナンシOCID)から、接頭辞"reports/usage-csv"が付いたすべての使用状況レポート:
oci os object list --namespace-name bling --bucket-name {customer_tenancy_ocid} --prefix reports/usage-csv --all
Oracle管理ネームスペース"bling"およびバケット(顧客テナンシOCID)のすべてのコスト・レポート(接頭辞"FOCUS Reports"を使用):
oci os object list --namespace-name bling --bucket-name {customer_tenancy_ocid} --prefix FOCUS Reports --all
コストまたは使用状況レポートをダウンロードします。
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
CLIコマンドのパラメータおよび変数オプションの完全なリストは、コマンドライン・リファレンスを参照してください。
APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。
コストまたは使用状況レポートをダウンロードするには、オブジェクト・ストレージAPIを使用します。レポートはテナンシのホーム・リージョンに格納されます。レポートで使用されるオブジェクト・ストレージ・ネームスペースは、
bling
です。バケット名はテナンシOCIDです。次の例は、Pythonスクリプトを使用してコスト・レポートまたは使用状況レポート(あるいはその両方)をダウンロードする方法を示しています:
ノート
この例では、特定のテナンシOCIDがあります。これは、レポートは、Oracle Cloud InfrastructureによってホストされるOracle所有のオブジェクト・ストレージ・バケットに格納され、顧客のテナンシに格納されないためです。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 = "reports/usage-csv" # For usage # 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')