Object Storage Service (OSS) では、分類のためにタグを設定できます。このトピックでは、OSS SDK for Python 2.0 を使用してオブジェクトのタグを設定する方法について説明します。
使用上の注意
このトピックのサンプルコードでは、中国 (杭州) リージョンのリージョン ID
cn-hangzhouを使用しています。デフォルトでは、パブリックエンドポイントを使用してバケット内のリソースにアクセスします。同じリージョン内の他の Alibaba Cloud サービスからバケット内のリソースにアクセスする場合は、内部エンドポイントを使用します。サポートされているリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。oss:PutObjectTagging権限は、タグを構成するために必要です。詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。
構文
put_object_tagging(request: PutObjectTaggingRequest, **kwargs) → PutObjectTaggingResultリクエストパラメーター
パラメーター | タイプ | 説明 |
request | PutObjectTaggingRequest | PutObjectTagging 操作のリクエスト。リクエスト内のパラメーターについては、PutObjectTaggingRequest を参照してください。 |
レスポンスパラメーター
タイプ | 説明 |
PutObjectTaggingResult | 戻り値。詳細については、PutObjectTaggingResult を参照してください。 |
put_object_tagging で、タグを設定する方法の完全な定義を参照してください。
例
以下は、バケット内の特定のオブジェクトのタグを設定するためのサンプルコードです。
import argparse
import alibabacloud_oss_v2 as oss
# コマンドラインパラメーターパーサーを作成し、パラメーターを定義します。
parser = argparse.ArgumentParser(description="put object tagging sample")
parser.add_argument('--region', help='バケットが配置されているリージョン。', required=True)
parser.add_argument('--bucket', help='バケットの名前。', required=True)
parser.add_argument('--endpoint', help='他のサービスが OSS にアクセスするために使用できるドメイン名')
parser.add_argument('--key', help='オブジェクトの名前。', required=True)
parser.add_argument('--tag_key', help='タグキーの名前。', required=True)
parser.add_argument('--tag_value', help='タグ値の名前。', required=True)
def main():
# コマンドラインパラメーターを解析します。
args = parser.parse_args()
# 環境変数からアクセス認証情報をロードします。
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# SDK のデフォルト設定を使用します。
cfg = oss.config.load_default()
# 認証情報プロバイダーを指定します。
cfg.credentials_provider = credentials_provider
# リージョンを指定します。
cfg.region = args.region
# エンドポイントが提供されている場合は、エンドポイントを指定します。
if args.endpoint is not None:
cfg.endpoint = args.endpoint
# OSS クライアントを作成します。
client = oss.Client(cfg)
# タグを指定します。
# 複数のタグを設定する必要がある場合は、次の形式で oss.Tag オブジェクトを追加します。
# tags = [oss.Tag(key=args.tag_key, value=args.tag_value), oss.Tag(key=args.tag_key2, value=args.tag_value2)]
tags = [oss.Tag(
key=args.tag_key,
value=args.tag_value,
)]
# オブジェクトのタグを設定します。
result = client.put_object_tagging(oss.PutObjectTaggingRequest(
bucket=args.bucket,
key=args.key,
tagging=oss.Tagging(
tag_set=oss.TagSet(
tags=tags,
),
),
))
# レスポンスを出力します。
print(f'status code: {result.status_code},'
f' request id: {result.request_id},'
f' version id: {result.version_id},'
)
if __name__ == "__main__":
main()
参照
オブジェクトのタグを設定するために使用される完全なサンプルコードについては、put_object_tagging.py を参照してください。