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

Object Storage Service:バケットのタグ付け (C# SDK V1)

最終更新日:Nov 29, 2025

タグを使用して、さまざまな目的で使用される Object Storage Service (OSS) バケットを識別し、これらのバケットを管理できます。

注意事項

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

  • このトピックでは、OSS エンドポイントを使用して OSSClient インスタンスを作成します。カスタムドメイン名またはセキュリティトークンサービス (STS) を使用して OSSClient インスタンスを作成する場合は、初期化をご参照ください。

  • 各バケットには、最大 20 個のタグ (キーと値のペア) を設定できます。

  • タグのキーと値は UTF-8 でエンコードする必要があります。

  • キーの長さは最大 64 文字です。大文字と小文字が区別され、空にすることはできません。キーを http://https://、または Aliyun で始めることはできません。これらのプレフィックスでは大文字と小文字は区別されません。

  • タグの値は最大 128 文字で、空にすることもできます。

バケットへのタグの追加

次のコードは、examplebucket という名前のバケットにタグを設定する方法を示しています。

using Aliyun.OSS;
using Aliyun.OSS.Common;

// endpoint を、バケットが配置されているリージョンのエンドポイントに設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
var endpoint = "yourEndpoint";
// 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// bucketName をバケットの名前に設定します (例: examplebucket)。
var bucketName = "examplebucket";
// region を、バケットが配置されているリージョンの ID に設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、region を cn-hangzhou に設定します。
const string region = "cn-hangzhou";

// ClientConfiguration インスタンスを作成し、必要に応じてデフォルトのパラメーターを変更します。
var conf = new ClientConfiguration();

// 署名バージョン V4 を使用します。
conf.SignatureVersion = SignatureVersion.V4;

// OssClient インスタンスを作成します。
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
    // バケットにタグを追加します。
    var setRequest = new SetBucketTaggingRequest(bucketName);

    var tag1 = new Tag
    {
        Key = "project",
        Value = "projectone"
    };

    var tag2 = new Tag
    {
        Key = "user",
        Value = "jsmith"
    };

    setRequest.AddTag(tag1);
    setRequest.AddTag(tag2);    
    client.SetBucketTagging(setRequest);
    Console.WriteLine("Set bucket:{0} Tagging succeeded ", bucketName);
}
catch (OssException ex)
{
    Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
        ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
}
catch (Exception ex)
{
    Console.WriteLine("Failed with error info: {0}", ex.Message);
}

バケットのタグの照会

次のコードは、examplebucket という名前のバケットのタグを取得する方法を示しています。

using Aliyun.OSS;
using Aliyun.OSS.Common;

// endpoint を、バケットが配置されているリージョンのエンドポイントに設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
var endpoint = "yourEndpoint";
// 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// bucketName をバケットの名前に設定します (例: examplebucket)。
var bucketName = "examplebucket";
// region を、バケットが配置されているリージョンの ID に設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、region を cn-hangzhou に設定します。
const string region = "cn-hangzhou";

// ClientConfiguration インスタンスを作成し、必要に応じてデフォルトのパラメーターを変更します。
var conf = new ClientConfiguration();

// 署名バージョン V4 を使用します。
conf.SignatureVersion = SignatureVersion.V4;

// OssClient インスタンスを作成します。
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
    // バケットのタグを取得します。
    var result = client.GetBucketTagging(bucketName);
    Console.WriteLine("Get bucket:{0} tagging succeeded ", bucketName);

    for (var i = 0; i < result.Tags.Count; i++) {
        Console.WriteLine("bucket tagging key: {0}; bucket tagging value: {1}", result.Tags[i].Key, result.Tags[i].Value);
    }
}
catch (OssException ex)
{
    Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
        ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
}
catch (Exception ex)
{
    Console.WriteLine("Failed with error info: {0}", ex.Message);
}

特定のタグを持つバケットの一覧表示

次のコードは、特定のタグを持つバケットを一覧表示する方法を示しています。

using Aliyun.OSS;
using Aliyun.OSS.Common;
// endpoint を、バケットが配置されているリージョンのエンドポイントに設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
var endpoint = "yourEndpoint";
// 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// bucketName をバケットの名前に設定します (例: examplebucket)。
var bucketName = "examplebucket";
// region を、バケットが配置されているリージョンの ID に設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、region を cn-hangzhou に設定します。
const string region = "cn-hangzhou";

// ClientConfiguration インスタンスを作成し、必要に応じてデフォルトのパラメーターを変更します。
var conf = new ClientConfiguration();

// 署名バージョン V4 を使用します。
conf.SignatureVersion = SignatureVersion.V4;

// OssClient インスタンスを作成します。
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
    // 特定のタグを持つバケットを一覧表示します。
    var tag = new Tag
    {
        Key = "tag",
        Value = "value"
    };
    var listRequest = new ListBucketsRequest();
    listRequest.Tag = tag;
    var result = client.ListBuckets(listRequest);
    Console.WriteLine("list bucket:{0} succeeded ", bucketName);  
    foreach (var bucket in result.Buckets) {
        Console.WriteLine("bucket name: {0}", bucket.Name);
    }
}
catch (OssException ex)
{
    Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
        ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
}
catch (Exception ex)
{
    Console.WriteLine("Failed with error info: {0}", ex.Message);
}

バケットからのすべてのタグの削除

次のコードは、バケットからすべてのタグを削除する方法を示しています。

using Aliyun.OSS;
using Aliyun.OSS.Common;
// endpoint を、バケットが配置されているリージョンのエンドポイントに設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
var endpoint = "yourEndpoint";
// 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// bucketName をバケットの名前に設定します (例: examplebucket)。
var bucketName = "examplebucket";
// region を、バケットが配置されているリージョンの ID に設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、region を cn-hangzhou に設定します。
const string region = "cn-hangzhou";

// ClientConfiguration インスタンスを作成し、必要に応じてデフォルトのパラメーターを変更します。
var conf = new ClientConfiguration();

// 署名バージョン V4 を使用します。
conf.SignatureVersion = SignatureVersion.V4;

// OssClient インスタンスを作成します。
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
    // バケットからすべてのタグを削除します。
    client.DeleteBucketTagging(bucketName);
    Console.WriteLine("Delete bucket:{0} Tagging succeeded ", bucketName);
}
catch (OssException ex)
{
    Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
        ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
}
catch (Exception ex)
{
    Console.WriteLine("Failed with error info: {0}", ex.Message);
}

バケットからの特定のタグの削除

次のコードは、バケットから特定のタグを削除する方法を示しています。

using System;
using System.Collections.Generic;
using Aliyun.OSS;
using Aliyun.OSS.Common;


namespace Samples
{
    public class Program
    {
        public static void Main(string[] args)
        {
            // endpoint を、バケットが配置されているリージョンのエンドポイントに設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
            var endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
            // 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
            var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
            var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
            // bucketName をバケットの名前に設定します (例: examplebucket)。
            var bucketName = "examplebucket";
            // region を、バケットが配置されているリージョンの ID に設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、region を cn-hangzhou に設定します。
            const string region = "cn-hangzhou";
            // ClientConfiguration インスタンスを作成し、必要に応じてデフォルトのパラメーターを変更します。
            var conf = new ClientConfiguration();
            // 署名バージョン V4 を使用します。
            conf.SignatureVersion = SignatureVersion.V4;

            // OssClient インスタンスを作成します。
            var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);

            try
            {
                var tag = new Tag
                {
                    Key = "key1",
                    Value = "value1"
                };
                var tags = new List<Tag>();
                tags.Add(tag);
                // タグキーを指定して、バケットから特定のタグを削除します。
                var request = new DeleteBucketTaggingRequest(bucketName, tags);
                client.DeleteBucketTagging(request);
                Console.WriteLine("delete bucket:{0} Tagging by key succeeded ", bucketName);
            }
            catch (OssException ex)
            {
                Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
                    ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
            }
        }
    }
}

関連ドキュメント

  • バケットのタグを設定するために呼び出すことができる API 操作の詳細については、PutBucketTags をご参照ください。

  • バケットのタグを照会するために呼び出すことができる API 操作の詳細については、GetBucketTags をご参照ください。

  • バケットのタグを削除するために呼び出すことができる API 操作の詳細については、DeleteBucketTags をご参照ください。