このトピックでは、OSS SDK for Python 2.0 を使用してオブジェクトのタグをクエリする方法について説明します。
使用上の注意
このトピックのサンプルコードでは、中国 (杭州) リージョン (
cn-hangzhou) を例として使用します。デフォルトでは、パブリックエンドポイントが使用されます。同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスするには、内部エンドポイントを使用します。OSS がサポートするリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。オブジェクトのタグ付けには、キーと値のペアのセットが使用されます。詳細については、「オブジェクトタグ付け」をご参照ください。
オブジェクトタグのクエリ方法の詳細については、「GetObjectTagging」をご参照ください。
オブジェクトタグをクエリするには、
oss:GetObjectTagging権限が必要です。詳細については、「RAM ユーザーへのカスタム権限の付与」をご参照ください。
メソッド定義
get_object_tagging(request: GetObjectTaggingRequest, **kwargs) → GetObjectTaggingResultリクエストパラメーター
パラメーター | タイプ | 説明 |
request | GetObjectTaggingRequest | リクエストパラメーター。詳細については、「GetObjectTaggingRequest」をご参照ください。 |
戻り値
タイプ | 説明 |
GetObjectTaggingResult | 戻り値。詳細については、「GetObjectTaggingResult」をご参照ください。 |
完全なメソッド定義については、「get_object_tagging」をご参照ください。
サンプルコード
次のコードを使用して、バケット内の指定されたオブジェクトのタグをクエリできます。
import argparse
import alibabacloud_oss_v2 as oss
# コマンドラインからユーザーが渡したパラメーターを処理するために、コマンドライン引数パーサーを作成します。
parser = argparse.ArgumentParser(description="get object tagging sample")
# 必須およびオプションのコマンドライン引数を追加します。
# --region: OSS バケットが配置されているリージョン。
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.', required=True)
# --endpoint: OSS へのアクセスに使用するドメイン名を指定するオプションのパラメーター。
parser.add_argument('--endpoint', help='The domain names that other services can use to access OSS')
# --key: OSS 内のオブジェクト (ファイル) のキー。
parser.add_argument('--key', help='The name of the object.', required=True)
def main():
# コマンドライン引数を解析します。
args = parser.parse_args()
# 環境変数から OSS に必要な認証情報を読み込みます。
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# SDK が提供するデフォルト設定を使用して設定オブジェクトを作成します。
cfg = oss.config.load_default()
# 認証情報プロバイダーを以前に作成したオブジェクトに設定します。
cfg.credentials_provider = credentials_provider
# ユーザーの入力に基づいて OSS クライアントのリージョンを設定します。
cfg.region = args.region
# ユーザーがカスタムエンドポイントを提供した場合、設定を更新します。
if args.endpoint is not None:
cfg.endpoint = args.endpoint
# 上記の設定を使用して OSS クライアントインスタンスを作成します。
client = oss.Client(cfg)
# 指定されたオブジェクトのタグをクエリします。
result = client.get_object_tagging(oss.GetObjectTaggingRequest(
bucket=args.bucket,
key=args.key,
))
# 結果を出力します。
print(f'status code: {result.status_code},'
f' request id: {result.request_id},'
f' version id: {result.version_id},'
)
# タグが存在する場合、各タグのキーと値のペアを走査して出力します。
if result.tag_set.tags:
for o in result.tag_set.tags:
print(f'tags key: {o.key}, tags value: {o.value}')
# このスクリプトが実行されるときに main 関数を呼び出します。
if __name__ == "__main__":
main()
リファレンス
オブジェクトタグをクエリするための完全なサンプルコードについては、「get_object_tagging.py」をご参照ください。