简体   繁体   English

如何使用 terraform 获取具有给定前缀的所有 S3 存储桶的列表?

[英]How do I get list of all S3 Buckets with given prefix using terraform?

I am writing a Terraform script to setup an event notification on multiple S3 buckets which are starting with given prefix.我正在编写一个 Terraform 脚本来在以给定前缀开头的多个 S3 存储桶上设置事件通知。

For example I want to setup notification for bucket starting with finance-data .例如,我想为以finance-data开头的存储桶设置通知。 With help of aws_s3_bucket datasource, we can configure a multiple S3 buckets which are already present and later we can use them in aws_s3_bucket_notification resource.aws_s3_bucket数据源的帮助下,我们可以配置多个已经存在的 S3 存储桶,稍后我们可以在aws_s3_bucket_notification资源中使用它们。 Example:例子:

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:*"
        ]
    }
}

In aws_s3_bucket datasource, I am not able to find an option to give a prefix of the bucket and instead I have to enter bucket-id for all the buckets.aws_s3_bucket数据源中,我找不到提供存储桶前缀的选项,而是必须为所有存储桶输入 bucket-id。 Is there any way to achieve this?有没有办法实现这一目标?

Is there any way to achieve this?有没有办法实现这一目标?

No there is not.不,那里没有。 You have to explicitly specify buckets that you want.您必须明确指定所需的存储桶。

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

相关问题 获取所有带有前缀的s3存储桶 - Get all s3 buckets given a prefix 如何使用 cli 列出带有特定标签的所有 S3 存储桶? - How can i list all the S3 buckets with some specific tag using cli? 如何在 Terraform 中使用 for_each 将 1 个存储桶策略分配给多个 S3 存储桶? - How can I assign 1 bucket policy to multiple S3 buckets using for_each in Terraform? 如何在S3中以前缀列出所有对象 - How could I list all objects under a prefix in S3 如何获得Amazon S3上具有相同前缀的所有文件名的列表? - How can I get a list of all file names having same prefix on Amazon S3? 是否可以列出我有权访问的所有AWS S3存储桶? - Is it possible to list all the AWS S3 buckets I have access to? 在 scala 中列出具有给定前缀的 S3 中的所有对象 - List All objects in S3 with given Prefix in scala 如何从S3存储桶的单个请求中获取存储桶中的所有对象列表(包括标签) - How to get all list of objects in buckets including tags in single request from S3 bucket AWS Macie & Terraform - 选择账户中的所有 S3 存储桶 - AWS Macie & Terraform - Select all S3 buckets in account 如何获取正在访问 S3 存储桶中对象的用户列表? - How to get list of users who are accessing the objects in S3 Buckets?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM