Aws lambda 避免在地形规划阶段调用lambda
我有一个lambda,我想在terraform应用期间调用它一次,因为它更新了数据库,应该在应用阶段只触发一次。Aws lambda 避免在地形规划阶段调用lambda,aws-lambda,terraform,terraform-provider-aws,Aws Lambda,Terraform,Terraform Provider Aws,我有一个lambda,我想在terraform应用期间调用它一次,因为它更新了数据库,应该在应用阶段只触发一次。 我的问题是terraform在计划阶段也会调用它。 是否有办法仅在应用阶段运行它? 例如: data“aws\u lambda\u调用”“run\u lambda”{ 函数\u name=“测试” 输入=请求者延迟,但回答供将来参考: 尝试在aws_lamdbda_调用中使用dependens_on:[some_resource]构造。让调用依赖于任何其他资源。如果没有依赖项(我几乎
我的问题是terraform在计划阶段也会调用它。
是否有办法仅在应用阶段运行它?
例如:
data“aws\u lambda\u调用”“run\u lambda”{
函数\u name=“测试”
输入=请求者延迟,但回答供将来参考:
尝试在aws_lamdbda_调用中使用dependens_on:[some_resource]
构造。让调用依赖于任何其他资源。如果没有依赖项(我几乎不相信),则引入人工资源,如time_sleep
。让执行等待1s,并使lambda依赖于它。
通过这种方式,terraform plan
不会抱怨。有趣的问题。我怀疑您无法限制此特定资源在计划时调用lambda-它被设置为数据源,因此terraform将“读取”这是在计划阶段进行的。由于您正在使用此lambda编写数据,您将需要其他东西。以下是一个我从未使用过但值得尝试的模块:
data "aws_lambda_invocation" "run_lambda" {
function_name = "test"
input = <<JSON
{}
JSON
}