【发布时间】:2021-12-27 11:48:22
【问题描述】:
我正在编写一个 Terraform 脚本来在多个以给定前缀开头的 S3 存储桶上设置事件通知。
例如,我想为以finance-data 开头的存储桶设置通知。在aws_s3_bucket 数据源的帮助下,我们可以配置多个已经存在的 S3 存储桶,稍后我们可以在aws_s3_bucket_notification 资源中使用它们。示例:
data "aws_s3_bucket" "source_bucket" {
# set of buckets on which event notification will be set
# finance-data-1 and finance-data-2 are actual bucket id
for_each = toset(["finance-data-1", "finance-data-2"])
bucket = each.value
}
resource "aws_s3_bucket_notification" "bucket_notification_to_lambda" {
for_each = data.aws_s3_bucket.source_bucket
bucket = each.value.id
lambda_function {
lambda_function_arn = aws_lambda_function.s3_event_lambda.arn
events = [
"s3:ObjectCreated:*",
"s3:ObjectRemoved:*"
]
}
}
在aws_s3_bucket 数据源中,我找不到提供存储桶前缀的选项,而是必须为所有存储桶输入存储桶ID。有什么方法可以实现吗?
【问题讨论】:
-
这将是提供者的功能请求,或者您可以自己 PR。
标签: amazon-web-services terraform terraform-provider-aws