Evg*_*gol 1 linux amazon-s3 terraform
我使用 Terraform 将文件上传到 S3 存储桶中。如何获取其 URL,如 S3://bucket/object?
我要使用
output "my_bucket_file_version" {
value = aws_s3_bucket_object.object.version_id
}
Run Code Online (Sandbox Code Playgroud)
但我想这不会起作用。
这s3://
实际上并不在 S3 API 中表示,而是在一些使用 S3 存储桶的工具中的 UI 级别详细信息。由于hashicorp/aws
Terraform 的提供程序很大程度上只是反映底层 API 的详细信息,因此它目前没有任何提供现成s3://
URI 的属性。
然而,此 URI 约定具有记录的结构,因此可以从以下部分构建它:
s3://
前缀/
用于分隔对象键的要构建它,您需要 S3 存储桶名称和对象密钥。资源aws_s3_bucket_object
类型包括这两个属性:
output "object_s3_uri" {
value = "s3://${aws_s3_bucket_object.object.bucket}/${aws_s3_bucket_object.object.key}"
}
Run Code Online (Sandbox Code Playgroud)
URL 方案的文档s3://
没有提及如何引用对象的特定版本,因此我认为不可能为特定对象版本构造URI。