Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
创建带有标签的目录存储桶
您可以在创建 Amazon S3 目录存储桶时为它们添加标签。在超过标准 S3 API 请求速率的目录存储桶上使用标签无需额外付费。有关更多信息,请参阅 Amazon S3 定价。有关为目录存储桶添加标签的更多信息,请参阅将标签与 S3 目录存储桶结合使用。
权限
要创建带有标签的目录存储桶,您必须具有以下权限:
-
s3express:CreateBucket
-
s3express:TagResource
错误故障排除
如果您在尝试创建带有标签的目录存储桶时遇到错误,可以执行以下操作:
步数
您可以使用 Amazon S3 控制台、Amazon Command Line Interface(Amazon CLI)、Amazon S3 REST API 和 Amazon SDK 来创建应用了标签的目录存储桶。
使用 Amazon S3 控制台创建带有标签的目录存储桶:
登录到 Amazon S3 控制台,网址为:https://console.aws.amazon.com/s3/。
在左侧导航窗格中,选择目录存储桶。
选择创建存储桶以创建新的目录存储桶。
您可以创建两种类型的目录存储桶:
在可用区中创建用于处理高性能工作负载的目录存储桶。有关更多信息,请参阅 高性能工作负载。
在本地区域中创建用于处理数据驻留工作负载的目录存储桶。有关更多信息,请参阅 数据驻留工作负载。
对于这两种类型的目录存储桶,当创建新的目录存储桶时,在创建存储桶页面上,标签是一个选项。
输入存储桶的名称。有关更多信息,请参阅 。
选择添加新标签以打开标签编辑器并输入标签键值对。标签键是必需的,但值是可选的。
要添加其它标签,请再次选择添加新标签。最多可输入 50 个标签键值对。
在您完成为新的目录存储桶指定选项后,选择创建存储桶。
- SDK for Java 2.x
-
此示例说明如何使用Amazon SDK for Java 2.x 创建带有标签的目录存储桶。要使用该命令,请将用户输入占位符
替换为您自己的信息。
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.BucketInfo;
import software.amazon.awssdk.services.s3.model.BucketType;
import software.amazon.awssdk.services.s3.model.CreateBucketConfiguration;
import software.amazon.awssdk.services.s3.model.CreateBucketRequest;
import software.amazon.awssdk.services.s3.model.CreateBucketResponse;
import software.amazon.awssdk.services.s3.model.DataRedundancy;
import software.amazon.awssdk.services.s3.model.LocationInfo;
import software.amazon.awssdk.services.s3.model.LocationType;
import software.amazon.awssdk.services.s3.model.Tag;
public class CreateBucketWithTagsExample {
public static void createBucketWithTagsExample() {
S3Client s3 = S3Client.builder().region(Region.US_WEST_2
).build();
CreateBucketConfiguration bucketConfiguration = CreateBucketConfiguration.builder()
.location(LocationInfo.builder()
.type(LocationType.AVAILABILITY_ZONE)
.name("usw2-az1
").build())
.bucket(BucketInfo.builder()
.type(BucketType.DIRECTORY)
.dataRedundancy(DataRedundancy.SINGLE_AVAILABILITY_ZONE)
.build())
.tags(Tag.builder().key("MyTagKey
").value("MyTagValue
").build())
.build();
CreateBucketRequest createBucketRequest = CreateBucketRequest.builder()
.bucket("amzn-s3-demo-bucket--usw2-az1--x-s3
--usw2-az1
--x-s3")
.createBucketConfiguration(bucketConfiguration)
.build();
CreateBucketResponse response = s3.createBucket(createBucketRequest);
System.out.println("Status code (should be 200):");
System.out.println(response.sdkHttpResponse().statusCode());
}
}
有关 Amazon S3 REST API 支持创建带有标签的目录存储桶的信息,请参阅《Amazon Simple Storage Service API Reference》中的以下部分:
要安装 Amazon CLI,请参阅《Amazon Command Line Interface 用户指南》中的安装 Amazon CLI。
以下 CLI 示例说明如何使用 Amazon CLI 创建带有标签的目录存储桶。要使用该命令,请将用户输入占位符
替换为您自己的信息。
创建目录存储桶时,必须提供配置详细信息并使用以下命名约定:bucket-base-name
--zone-id
--x-s3
请求:
aws s3api create-bucket \
--bucket bucket-base-name
--zone-id
--x-s3
\
--create-bucket-configuration "Location={Type=AvailabilityZone,Name=zone-id
},Bucket={DataRedundancy=SingleAvailabilityZone,Type=Directory},Tags=[{Key=mykey1
,Value=myvalue1
}, {Key=mykey2
,Value=myvalue2
}]"
响应:
{
"Location": "http://bucket--use1-az4
--x-s3.s3express-use1-az4
.us-east-1
.amazonaws.com/"
}