Oracle Cloud Infrastructureドキュメント

使用状況レポートへのアクセス

使用状況レポートは、毎日生成され、オブジェクト・ストレージ・バケットに格納されるカンマ区切り値(CSV)ファイルです。 このトピックでは、使用状況レポートにアクセスする方法について説明します。

必要なIAMポリシー

Oracle Cloud Infrastructureを使用するには、管理者が作成するポリシーで、コンソールまたはSDK、CLIまたはその他のツールを使用したREST APIのどちらを使用しているかにかかわらず、必要なタイプのアクセスを付与する必要があります。 アクションを実行しようとしたときに、権限のないメッセージや権限のないメッセージを取得する場合は、管理者に付与されているアクセスのタイプと作業するコンパートメントを確認してください。

新しいポリシーの場合は、「ポリシーの開始」「共通ポリシー」を参照してください。

レポートは別のテナンシで生成され、Oracle所有のオブジェクト・ストレージ・バケットに格納されます。 次に示すように、クロステナンシIAMポリシーを設定して使用状況レポートにアクセスし、グループ名を適切に変更する必要があります:

define tenancy usage-report as ocid1.tenancy.oc1..aaaaaaaazzzzkpkisbwjlr56u7cj63lf3wffbilvqknstgtvzub7vhqkggq
endorse group MyGroupName to read objects in tenancy usage-report

コンソールの使用

使用状況レポートをダウンロードするには

APIの使用

APIおよび署名リクエストの使用については、REST APIおよび「セキュリティ資格証明」を参照してください。 SDKの詳細は、「ソフトウェア開発キットとコマンドライン・インタフェース」を参照してください。

使用状況レポートをダウンロードするには、Object Storage APIを使用します。 レポートはテナンシ・ホーム・リージョンに格納されます。 レポートに使用されるオブジェクト・ストレージ・ネームスペースは、bling;バケット名はテナンシOCIDです。

次の例は、Pythonスクリプトを使用して使用状況レポートをダウンロードする方法を示しています:

import oci
import os

# This script downloads all of the usage reports for a tenancy (specified in the config file)
#
# Pre-requisites: Create an IAM policy to endorse users in your tenancy to read usage reports from the OCI tenancy
#
# Example policy:
# define tenancy usage-report as ocid1.tenancy.oc1..aaaaaaaaned4fkpkisbwjlr56u7cj63lf3wffbilvqknstgtvzub7vhqkggq
# endorse group group_name to read objects in tenancy usage-report
#
# Note - the only values you need to change is group name. No not change the OCID in the first statement

	usage_report_namespace = 'bling'

	# 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 usage reports
	config = oci.config.from_file('config/config','DEFAULT')
	usage_report_bucket = config['tenancy']
	object_storage = oci.object_storage.ObjectStorageClient(config)
	report_bucket_objects = object_storage.list_objects(usage_report_namespace, usage_report_bucket)

	for o in report_bucket_objects.data.objects:
	   print('Found file ' + o.name)
	   object_details = object_storage.get_object(usage_report_namespace,usage_report_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('Finished downloading ' + o.name + '\n')
			

このトピックは移動しました。2秒後にリダイレクトされない場合は、次のリンクをクリックしてください: 使用状況レポートへのアクセス。