如何用Terraform获取S3对象的S3格式URL?
获取S3对象的S3://格式URI
你可以通过拼接S3存储桶名称和对象的key来生成目标格式的URI,Terraform支持字符串插值语法,直接在output中构造即可,无需依赖额外资源属性。
示例代码
假设你已经定义了S3存储桶资源aws_s3_bucket.your_bucket和对象资源aws_s3_bucket_object.object,可以这样写输出:
output "s3_object_uri" { value = "s3://${aws_s3_bucket.your_bucket.name}/${aws_s3_bucket_object.object.key}" }
说明
${aws_s3_bucket.your_bucket.name}:引用你定义的S3存储桶资源的名称,会替换为实际桶名${aws_s3_bucket_object.object.key}:引用上传对象的key(即对象在桶内的路径/文件名)- 通过
s3://前缀和斜杠连接两部分,即可生成符合需求的S3://bucket/object格式URI。
如果你的存储桶是直接通过名称指定(而非引用资源),也可以直接硬编码桶名:
output "s3_object_uri" { value = "s3://your-bucket-name/${aws_s3_bucket_object.object.key}" }
内容的提问来源于stack exchange,提问作者Evgol
相关产品推荐
相关产品推荐

