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

Object Storage Service:オブジェクトタグの取得 (C# SDK V2)

最終更新日:Nov 09, 2025

オブジェクトタグ付けでは、キーと値のペアを使用してオブジェクトをマークします。このトピックでは、オブジェクトのタグを取得する方法について説明します。

使用上の注意

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

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

サンプルコード

次のサンプルコードは、オブジェクトタグを取得する方法を示しています。

using OSS = AlibabaCloud.OSS.V2;  // Alibaba Cloud OSS SDK のエイリアスを作成して、後続の使用を簡素化します。

var region = "cn-hangzhou";  // 必須。バケットが配置されているリージョンを指定します。この例では、中国 (杭州) リージョンが使用されます。region を cn-hangzhou に設定します。
var endpoint = null as string;  // オプション。OSS サービスへのアクセスに使用するエンドポイントを指定します。この例では、中国 (杭州) リージョンのエンドポイントが使用されます。endpoint を https://oss-cn-hangzhou.aliyuncs.com に設定します。
var bucket = "your bucket name";  // 必須。宛先バケットの名前。
var key = "your object name";  // 必須。宛先オブジェクトの名前。フォーマットは folder/objectName です。

// OSS SDK のデフォルト設定を読み込みます。設定は、環境変数から AccessKey などの認証情報を自動的に読み取ります。
var cfg = OSS.Configuration.LoadDefault();
// 環境変数を使用して ID 検証用の認証情報を取得するように明示的に設定します。フォーマットは OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET です。
cfg.CredentialsProvider = new OSS.Credentials.EnvironmentVariableCredentialsProvider();
// 設定でリージョンを設定します。
cfg.Region = region;   
// エンドポイントが指定されている場合は、デフォルトのエンドポイントを上書きします。
if(endpoint != null)
{
    cfg.Endpoint = endpoint;
} 

// 設定情報に基づいて OSS クライアントインスタンスを作成します。
using var client = new OSS.Client(cfg); 

// GetObjectTaggingAsync メソッドを呼び出して、宛先オブジェクトのタグ情報を取得します。
var result = await client.GetObjectTaggingAsync(new()
 {
    Bucket = bucket,
    Key = key
});

// アップロード結果を出力します。
Console.WriteLine("GetObjectTagging done");  // 操作が完了したことを示すメッセージ。
Console.WriteLine($"StatusCode: {result.StatusCode}");  // HTTP ステータスコード。
Console.WriteLine($"RequestId: {result.RequestId}");  // リクエスト ID。Alibaba Cloud でのトラブルシューティングに使用されます。
Console.WriteLine("Response Headers:");  // 応答ヘッダー情報。
result.Headers.ToList().ForEach(x => Console.WriteLine(x.Key + " : " + x.Value));  // すべての応答ヘッダーを走査して出力します。
result.Tagging?.TagSet?.Tags?.ForEach(x => Console.WriteLine(x.Key + " : " + x.Value));  // 宛先オブジェクトのタグ情報が存在する場合は、その情報を出力します。

リファレンス

完全なサンプルコードについては、「GetObjectTagging.cs」をご参照ください。