バケットのタグ機能を使用すると、バケットを分類し、管理できます。 たとえば、特定のタグを持つバケットのみが ListBucket 操作で返されるように指定できます。

  • バケットにタグを追加できるのは、バケット所有者と許可された RAM ユーザーのみです。 それ以外の場合、403 Forbidden エラーがエラーコード AccessDenied と共に返されます。
  • バケットには最大 20 個のタグ (キーと値のペア) を追加できます。
  • キーは、最大 64 バイトです。 タグのキーは null にできません。また、プレフィックスを http://https://、または Aliyun にすることはできません。
  • タグの値は、最大 128 バイトです。 タグの値は null にできます。
  • タグのキーと値は UTF-8 でエンコードされている必要があります。
  • PutBucketTagging を使用してバケットにタグを追加すると、バケットに追加されている元のタグは完全に上書きされます。

バケットへのタグの追加

次のコードを実行して、タグをバケットに追加できます。
// This example uses the China East 1 (Hangzhou) endpoint. Specify the actual endpoint based on your requirements.
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// It is highly risky to log on with the AccessKey of an Alibaba Cloud account because the account has permissions on all the APIs in OSS. We recommend that you log on as a RAM user to access APIs or perform routine operations and maintenance. To create a RAM user account, log on to https://ram.console.aliyun.com.
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";

// Creates an OSSClient instance.
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

// Adds tags to the bucket.
SetBucketTaggingRequest request = new SetBucketTaggingRequest("<yourBucketName>");
request.setTag("<yourTagkey1>", "<yourTagValue1>");
request.setTag( "<yourTagkey2>"、 "<yourTagValue2>");
ossClient.setBucketTagging(request);

// Closes the OSSClient.
ossClient.shutdown();

バケットに追加されているタグの取得

次のコードを実行して、バケットに追加されているタグを取得できます。
// This example uses the China East 1 (Hangzhou) endpoint. Specify the actual endpoint based on your requirements.
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// It is highly risky to log on with the AccessKey of an Alibaba Cloud account because the account has permissions on all the APIs in OSS. We recommend that you log on as a RAM user to access APIs or perform routine operations and maintenance. To create a RAM user account, log on to https://ram.console.aliyun.com.
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";

// Creates an OSSClient instance.
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

// Obtains the tags added to the bucket.
TagSet tagSet = ossClient.getBucketTagging(new GenericRequest("<yourBucketName>"));
Map<String, String> tags = tagSet.getAllTags();

// Closes the OSSClient instance.
ossClient.shutdown();

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

次のコードを実行して、特定のタグを持つバケットを一覧表示します。
// This example uses the China East 1 (Hangzhou) endpoint. Specify the actual endpoint based on your requirements.
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// It is highly risky to log on with the AccessKey of an Alibaba Cloud account because the account has permissions on all the APIs in OSS. We recommend that you log on as a RAM user to access APIs or perform routine operations and maintenance. To create a RAM user account, log on to https://ram.console.aliyun.com.
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";

// Creates an OSSClient instance.
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

// Lists buckets with the specified tag. 
ListBucketsRequest listBucketsRequest = new ListBucketsRequest();
listBucketsRequest.setTag("<yourTagKey>", "<yourTagValue>");
BucketList bucketList = ossClient.listBuckets(listBucketsRequest);
for (Bucket o : bucketList.getBucketList()) {
  System.out.println("list result bucket: " + o.getName());
}

// Closes the OSSClient instance.
ossClient.shutdown();
				

バケットに追加されているタグの削除

次のコードを実行して、バケットに追加されているタグを削除できます。
// This example uses the China East 1 (Hangzhou) endpoint. Specify an actual endpoint based on your requirements.
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// It is highly risky to log on with the AccessKey of an Alibaba Cloud account because the account has permissions on all the APIs in OSS. We recommend that you log on as a RAM user to access APIs or perform routine operations and maintenance. To create a RAM user account, log on to https://ram.console.aliyun.com.
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";

// Creates an OSSClient instance.
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

// Deletes the tags added to the bucket.
ossClient.deleteBucketTagging(new GenericRequest("<yourBucketName>"));

// Closes the OSSClient instance.
ossClient.shutdown();