如何确保 S3 存储桶名称不与 Terraform 一起使用?

How to ensure an S3 bucket name is not used with Terraform?

我知道 data aws_s3_bucket 资源可用于获取对现有存储桶的引用,但如何使用它来确保新的潜在存储桶名称是唯一的?

我正在考虑使用随机数的循环,但是如何使用它来搜索尚未使用的存储桶名称?

如评论中所述,可以使用 bucket_prefix functionality

来实现此行为

此代码:

resource "aws_s3_bucket" "my_s3_bucket" {
  bucket_prefix = "my-Whosebug-bucket-"
  acl    = "private"

  tags = {
    Name        = "My bucket"
    Environment = "Dev"
  }
}

生成以下唯一桶: