バケットは、オブジェクトを格納するために使用されるコンテナーです。このトピックでは、バケットに関する情報をクエリする方法について説明します。
使用上の注意
このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントが使用されています。 OSS と同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用します。 OSS のリージョンとエンドポイントの詳細については、「OSS のリージョンとエンドポイント」をご参照ください。
このトピックでは、アクセス認証情報は環境変数から取得されます。アクセス認証情報を設定する方法の詳細については、「OSS SDK for Python 1.0 を使用してアクセス認証情報を設定する」をご参照ください。
このトピックでは、OSS エンドポイントを使用して OSSClient インスタンスが作成されます。カスタムドメイン名または Security Token Service (STS) を使用して OSSClient インスタンスを作成する場合は、「初期化」をご参照ください。
バケットに関する情報をクエリするには、
oss:GetBucketInfo権限が必要です。詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。
例
次のコードは、バケットのリージョンや作成日などの情報をクエリする例を示しています。
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 環境変数からアクセス認証情報を取得します。サンプルコードを実行する前に、環境変数が設定されていることを確認してください。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# バケットが配置されているリージョンのエンドポイントを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# エンドポイントにマッピングされるリージョンの ID を指定します。例: cn-hangzhou。署名アルゴリズム V4 を使用する場合は、このパラメーターが必要です。
region = "cn-hangzhou"
# バケットの名前を指定します。
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)
# バケットに関する情報をクエリします。
bucket_info = bucket.get_bucket_info()
# バケットの名前をクエリします。
print("name: " + bucket_info.name)
# バケットのストレージタイプをクエリします。
print("storage class: " + bucket_info.storage_class)
# バケットが作成された時刻をクエリします。
print("creation date: " + bucket_info.creation_date)
# バケットの内部エンドポイントをクエリします。
print("intranet_endpoint: " + bucket_info.intranet_endpoint)
# バケットのパブリックエンドポイントをクエリします。
print("extranet_endpoint " + bucket_info.extranet_endpoint)
# バケットの所有者をクエリします。
print("owner: " + bucket_info.owner.id)
# バケットのアクセス制御リスト (ACL) をクエリします。
print("grant: " + bucket_info.acl.grant)
# バケットの冗長タイプをクエリします。
print("data_redundancy_type:" + bucket_info.data_redundancy_type)
# バケットのアクセストラッキングステータスをクエリします。OSS SDK for Python 2.16.1 以降でのみ、アクセストラッキングステータスをクエリできます。
print("access_monitor:" + bucket_info.access_monitor)
関連情報
バケットに関する情報をクエリするために使用される完全なサンプルコードについては、GitHub にアクセスしてください。
バケットに関する情報をクエリするために呼び出すことができる API 操作の詳細については、「GetBucketInfo」をご参照ください。