创建带有标签的通用存储桶 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

创建带有标签的通用存储桶

您可以在创建 Amazon S3 通用存储桶时为存储桶添加标签。在存储桶上使用标签时,除了标准 S3 API 请求费率之外,没有任何其他费用。有关更多信息,请参阅 Amazon S3 定价。有关为存储桶添加标签的更多信息,请参阅将标签与 S3 通用存储桶结合使用

权限

要创建带有标签的存储桶,您必须具有以下权限:

  • s3:CreateBucket

  • s3:TagResource

Amazon S3 控制台和 Amazon CloudFormation 现在使用此功能创建带有标签的存储桶。

错误故障排除

如果您在尝试创建带有标签的存储桶时遇到错误,可以执行以下操作:

注意

Amazon S3 和 Amazon CloudFormation 现在使用此功能创建带有标签的存储桶。创建带有标签的存储桶时,请注意,仅当您在存储桶上启用 ABAC 后,才可以使用 aws:ResourceTags3:BucketTag 条件键对存储桶进行基于标签的有条件访问。要了解更多信息,请参阅在通用存储桶中启用 ABAC

Steps

您可以使用 Amazon S3 控制台、Amazon Command Line Interface(Amazon CLI)、Amazon S3 REST API 和 Amazon SDK 来创建应用了标签的存储桶。

要使用 Amazon S3 控制台创建带有标签的存储桶,请执行以下操作:

  1. 登录到 Amazon S3 控制台,网址为:https://console.aws.amazon.com/s3/

  2. 在左侧导航窗格中,选择存储桶

  3. 选择创建存储桶来创建新存储桶。

  4. 按照正常方式创建通用存储桶;请参阅 创建通用存储桶

  5. 创建存储桶页面上,创建新存储桶时可以看到标签选项。

  6. 输入存储桶的名称。有关更多信息,请参阅 通用存储桶命名规则

  7. 选择添加新标签以打开标签编辑器并输入标签键值对。标签键是必需的,但值是可选的。

  8. 要添加其它标签,请再次选择添加新标签。最多可输入 50 个标签键值对。

  9. 在您完成为新的存储桶指定选项后,选择创建存储桶

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.BucketLocationConstraint; 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.Tag; public class CreateBucketWithTagsExample { public static void createBucketWithTagsExample() { S3Client s3 = S3Client.builder().region(Region.US_WEST_2).build(); CreateBucketConfiguration bucketConfiguration = CreateBucketConfiguration.builder() .locationConstraint(BucketLocationConstraint.US_WEST_2) .tags(Tag.builder().key("MyTagKey").value("MyTagValue").build()) .build(); CreateBucketRequest createBucketRequest = CreateBucketRequest.builder() .bucket("mybucket") .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 参考》中的以下部分:

要安装 Amazon CLI,请参阅《Amazon Command Line Interface 用户指南》中的安装 Amazon CLI

以下 CLI 示例说明如何使用 Amazon CLI 创建带有标签的存储桶。要使用该命令,请将用户输入占位符 替换为您自己的信息。

创建存储桶时,您必须提供配置详细信息并使用以下命名约定:amzn-s3-demo-bucket

请求:

aws s3api create-bucket \ --bucket mybucket \ --create-bucket-configuration 'LocationConstraint=us-west-2,Tags=[{Key=MyTagKey,Value=MyTagValue}]' --region us-west-2"

响应:

{ "Location": "http://mybuckets3.amazonaws.com/" }