我创建了一个Lambda函数,其中定义了3个环境变量。这些变量的值存储在S3存储桶的外部文件中。 如何获取文件中存在的变量的值并触发lambda函数? 我是否需要为此活动创建另一个lambda,以便我总共拥有2个lambda函数?
答案 0 :(得分:0)
一旦您读取了该值,便可以将其传递给所需的lambda。
变量“环境” { 默认=“登台” }
数据“ aws_s3_bucket_object”“ release_id” { bucket =“ my-s3-bucket” 键=“ myapp / {var.environment} / current” }
输出“ release_id” { 值=“ $ {data.aws_s3_bucket_object.release_id.body}” } 资源“ aws_lambda_function”“ test_lambda” { s3_bucket =“ $ {data.aws_s3_bucket_object.lambda.bucket}” s3_key =“ $ {data.aws_s3_bucket_object.lambda.key}” s3_object_version =“ $ {data.aws_s3_bucket_object.lambda.version_id}” function_name =“ lambda_function_name” 角色=“ $ {aws_iam_role.iam_for_lambda.arn}”#(未显示) handler =“ exports.test”
lambda_environment_variables_map = { LOG_LEVEL =“ $ {var.lambda_log_level}” ENV_NAME =“ $ {var.environment}” S3_VALUE =“ $ {data.aws_s3_bucket_object.release_id.body}” } }
请参考此example
答案 1 :(得分:0)
您需要附加一个s3事件通知配置文件,该文件定义了如何通过s3存储桶事件调用lambda函数。 Amazon S3通知功能使您可以在存储桶中发生某些事件时接收通知。参见Configuring Amazon S3 Event Notifications