このトピックでは、指定されたバケットのストレージ容量、およびバケット内のさまざまなストレージタイプのオブジェクトの数とストレージ容量をクエリする方法について説明します。
使用上の注意
このトピックのサンプルコードでは、中国 (杭州) リージョンのリージョン ID
cn-hangzhouを使用します。デフォルトでは、パブリックエンドポイントを使用してバケット内のリソースにアクセスします。バケットが配置されているのと同じリージョンにある他の Alibaba Cloud サービスを使用してバケット内のリソースにアクセスする場合は、内部エンドポイントを使用します。OSS でサポートされているリージョンとエンドポイントの詳細については、「OSS のリージョンとエンドポイント」をご参照ください。
メソッド定義
get_bucket_stat(request: GetBucketStatRequest, **kwargs) → GetBucketStatResultリクエストパラメーター
パラメーター | タイプ | 説明 |
request | GetBucketStatRequest | リクエストパラメーター。詳細については、「GetBucketStatRequest」をご参照ください。 |
レスポンスパラメーター
タイプ | 説明 |
GetBucketStatResult | レスポンスパラメーター。詳細については、「GetBucketStatResult」をご参照ください。 |
完全なメソッド定義については、「get_bucket_stat」をご参照ください。
サンプルコード
次のコードを使用して、バケットのストレージ容量をクエリできます。
import argparse
import alibabacloud_oss_v2 as oss
# このスクリプトが指定されたバケットの統計情報を取得するために使用されることを記述するコマンドライン引数パーサーを作成します。
parser = argparse.ArgumentParser(description="Get statistical information about a specified OSS bucket.")
# バケットが配置されているリージョンを指定する --region コマンドライン引数を追加します。この引数は必須です。
parser.add_argument('--region', help='The region in which the bucket is located.', required=True)
# 統計を取得するバケットの名前を指定する --bucket コマンドライン引数を追加します。この引数は必須です。
parser.add_argument('--bucket', help='The name of the bucket to get statistics for.', required=True)
# 他のサービスが OSS にアクセスするために使用できるドメイン名を指定する --endpoint コマンドライン引数を追加します。この引数はオプションです。
parser.add_argument('--endpoint', help='The domain names that other services can use to access OSS.')
def main():
"""
コマンドライン引数を解析し、指定されたバケットの統計情報を取得するために使用されるメイン関数。
"""
args = parser.parse_args() # コマンドライン引数を解析します。
# ID 検証のために環境変数から認証情報を読み込みます。
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# SDK のデフォルト設定を使用し、認証情報プロバイダーとリージョン情報を設定します。
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
cfg.region = args.region
# endpoint パラメーターが指定されている場合は、設定でエンドポイントを設定します。
if args.endpoint is not None:
cfg.endpoint = args.endpoint
# 設定された情報を使用して OSS クライアントを作成します。
client = oss.Client(cfg)
# 指定されたバケットの統計情報を取得するためのリクエストを構築します。
request = oss.GetBucketStatRequest(bucket=args.bucket)
# リクエストを送信し、レスポンスを取得します。
result = client.get_bucket_stat(request)
# レスポンスの統計情報を出力します。
print(f'status code: {result.status_code},'
f' request id: {result.request_id},'
f' storage: {result.storage},'
f' object count: {result.object_count},'
f' multi part upload count: {result.multi_part_upload_count},'
f' live channel count: {result.live_channel_count},'
f' last modified time: {result.last_modified_time},'
f' standard storage: {result.standard_storage},'
f' standard object count: {result.standard_object_count},'
f' infrequent access storage: {result.infrequent_access_storage},'
f' infrequent access real storage: {result.infrequent_access_real_storage},'
f' infrequent access object count: {result.infrequent_access_object_count},'
f' archive storage: {result.archive_storage},'
f' archive real storage: {result.archive_real_storage},'
f' archive object count: {result.archive_object_count},'
f' cold archive storage: {result.cold_archive_storage},'
f' cold archive real storage: {result.cold_archive_real_storage},'
f' cold archive object count: {result.cold_archive_object_count},'
f' deep cold archive storage: {result.deep_cold_archive_storage},'
f' deep cold archive real storage: {result.deep_cold_archive_real_storage},'
f' deep cold archive object count: {result.deep_cold_archive_object_count},'
f' delete marker count: {result.delete_marker_count},'
)
if __name__ == "__main__":
main() # スクリプトのエントリポイント。ファイルが直接実行されると、main 関数が呼び出されます。一般的なストレージ容量情報
パラメーター | 説明 |
Storage | バケットの合計ストレージ容量。単位: バイト。 |
ObjectCount | バケット内のオブジェクトの総数。 |
MultipartUploadCount | バケット内で開始されたが、完了または中止されていないマルチパートアップロードタスクの数。 |
LiveChannelCount | バケット内の LiveChannel の数。 |
LastModifiedTime | この呼び出しによってストレージ情報が取得された時点。値は UNIX タイムスタンプです。単位: 秒。 |
StandardStorage | 標準オブジェクトのストレージ容量。単位: バイト。 |
StandardObjectCount | 標準オブジェクトの数。 |
InfrequentAccessStorage | 低頻度アクセス (IA) オブジェクトの課金対象ストレージ容量。単位: バイト。 |
InfrequentAccessRealStorage | IA オブジェクトの実際のストレージ容量。単位: バイト。 |
InfrequentAccessObjectCount | IA オブジェクトの数。 |
ArchiveStorage | アーカイブストレージオブジェクトの課金対象ストレージ容量。単位: バイト。 |
ArchiveRealStorage | アーカイブストレージオブジェクトの実際のストレージ容量。単位: バイト。 |
ArchiveObjectCount | アーカイブストレージオブジェクトの数。 |
ColdArchiveStorage | コールドアーカイブオブジェクトの課金対象ストレージ容量。単位: バイト。 |
ColdArchiveRealStorage | コールドアーカイブオブジェクトの実際のストレージ容量。単位: バイト。 |
ColdArchiveObjectCount | コールドアーカイブオブジェクトの数。 |
参考
完全なサンプルコードについては、「get_bucket_stat.py」をご参照ください。