すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:オブジェクトタグの取得 (Python SDK V1)

最終更新日:Nov 27, 2025

オブジェクトにタグを設定した後、オブジェクトのタグ情報を取得できます。バケットでバージョン管理が有効になっている場合、OSS はデフォルトでオブジェクトの現在のバージョンのタグを取得します。特定のバージョンのタグを取得するには、オブジェクトのバージョン ID (versionId) を指定します。

注意事項

  • このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。OSS と同じリージョンにある他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用してください。OSS のリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。

  • このトピックでは、OSS エンドポイントを使用して OSSClient インスタンスを作成します。カスタムドメイン名または Security Token Service (STS) を使用して OSSClient インスタンスを作成する場合は、「初期化」をご参照ください。

  • オブジェクトタグを取得するには、oss:GetObjectTagging 権限が必要です。詳細については、「RAM ユーザーへのカスタム権限の付与」をご参照ください。

オブジェクトタグの取得

バケットでバージョン管理が無効になっている場合は、オブジェクトのタグ情報を取得できます。バケットでバージョン管理が有効になっている場合、OSS はデフォルトでオブジェクトの現在のバージョンのタグを取得します。

次のコードは、examplebucket バケットの exampledir フォルダーにある exampleobject.txt ファイルのタグを取得する方法を示しています。

# -*- coding: utf-8 -*-

import oss2
from oss2.models import Tagging, TaggingRule
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 環境変数からアクセス認証情報を取得します。サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# バケットが配置されているリージョンのエンドポイントを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# エンドポイントが配置されているリージョン (cn-hangzhou など) を指定します。このパラメーターは V4 署名に必要であることにご注意ください。
region = "cn-hangzhou"

# examplebucket をバケットの名前に設定します。
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

# オブジェクトの完全なパスを指定します。完全なパスにバケット名を含めることはできません。例:exampledir/exampleobject.txt。
object_name = 'exampledir/exampleobject.txt'

# ファイルのタグを取得します。
result = bucket.get_object_tagging(object_name)

# タグ情報を表示します。
for key in result.tag_set.tagging_rule:
    print('tagging key: {}, value: {}'.format(key, result.tag_set.tagging_rule[key]))

オブジェクトの特定バージョンのタグの取得

バケットでバージョン管理が有効になっている場合、オブジェクトのバージョン ID (versionId) を指定することで、オブジェクトの特定バージョンのタグを取得できます。

次のコードは、examplebucket バケットの exampledir フォルダーにある exampleobject.txt ファイルの特定バージョンのタグを取得する方法を示しています。

説明

バージョン ID の取得方法の詳細については、「オブジェクトのリスト (Python SDK V1)」をご参照ください。

# -*- coding: utf-8 -*-

import oss2
from oss2.models import Tagging
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 環境変数からアクセス認証情報を取得します。サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# バケットが配置されているリージョンのエンドポイントを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# エンドポイントが配置されているリージョン (cn-hangzhou など) を指定します。このパラメーターは V4 署名に必要であることにご注意ください。
region = "cn-hangzhou"

# examplebucket をバケットの名前に設定します。
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

# オブジェクトの完全なパスを指定します。完全なパスにバケット名を含めることはできません。例:exampledir/exampleobject.txt。
object_name = 'exampledir/exampleobject.txt'
# オブジェクトのバージョン ID を指定します。例:CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****。
version_id = 'CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****'

params = dict()
params['versionId'] = version_id

result = bucket.get_object_tagging(object_name, params=params)
print(result)

関連ドキュメント

  • オブジェクトタグを取得するために使用される完全なサンプルコードについては、GitHub をご参照ください。

  • オブジェクトタグを取得するために使用される API 操作の詳細については、「GetObjectTagging」をご参照ください。