简体   繁体   English

terraform - 如何为 lambda 添加 s3 对象创建触发器

[英]terraform - how to add s3 Object Created trigger for lambda

How do I add a trigger to aws lambda using terraform?如何使用 terraform 向 aws lambda 添加触发器? the desired trigger is s3, object created all.所需的触发器是 s3,对象已全部创建。

my terraform source code arouond the lambda is:我在 lambda 周围的 terraform 源代码是:

module "s3-object-created-lambda" {
  source = "../../../../../modules/lambda"
  s3_bucket = "${var.s3_lambda_bucket}"
  s3_key = "${var.s3_lambda_key}"
  name = "${var.lambda_some_name}"
  handler = "code.handler"
  env = {
    lambda_name = "${var.lambda_base_name}"
    lambda_version = "${var.lambda_version}"
  }
}

trying to figure out how do I add the trigger.试图弄清楚如何添加触发器。 via the aws console it is super simple.通过 aws 控制台,它非常简单。

After some reading in: https://www.terraform.io/docs/providers/aws/r/s3_bucket_notification.html经过一些阅读: https : //www.terraform.io/docs/providers/aws/r/s3_bucket_notification.html

the solution is:解决办法是:

resource "aws_s3_bucket_notification" "bucket_notification" {
  bucket = "${data.terraform_remote_state.stack.bucket_id}"

  lambda_function {
    lambda_function_arn = "${module.some_lambda.lambda_arn}"
    events              = ["s3:ObjectCreated:*"]
    filter_prefix       = "${var.cluster_name}/somepath/"
    filter_suffix       = ".txt"
  }
}

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM