创建带有标签的通用存储桶 - Amazon Simple Storage Service

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

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

权限

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

  • s3:CreateBucket

  • s3:TagResource

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

错误故障排除

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

注意

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

Steps

您可以使用 Amazon S3 控制台、AWS Command Line Interface(AWS CLI)、Amazon S3 REST API 和 AWS 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

此示例说明如何使用AWS 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 参考》中的以下部分:

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

以下 CLI 示例说明如何使用 AWS 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/" }