繁体   English   中英

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

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

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

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

正如评论中所讨论的,这种行为可以通过bucket_prefix 功能来实现

这段代码:

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

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

生成以下唯一存储桶:

桶图像

使用bucket而不是bucket_prefixrandom_uuid的另一种解决方案,例如:

resource "aws_s3_bucket" "my_s3_bucket" {
  bucket = "my-s3-bucket-${random_uuid.uuid.result}"
}

resource "random_uuid" "uuid" {}

这会给你一个这样的名字:

my-s3-bucket-ebb92011-3cd9-503f-0977-7371102405f5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM