【问题标题】:How do I get list of all S3 Buckets with given prefix using terraform?如何使用 terraform 获取具有给定前缀的所有 S3 存储桶的列表?
【发布时间】: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


【解决方案1】:

有什么办法可以做到吗?

不,没有。您必须明确指定所需的存储桶。

【讨论】:

    猜你喜欢
    • 2016-07-02
    • 2021-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多