Terraformで既存のLambdaをterraform applyのたびに実行する
こちら↑の実行方法だと引数(input)を変更したりしないと最新のLambdaが実行されないので、terraform destroyコマンドを実行してから再度terraform applyコマンドを実行したりする必要があります。
dataブロックを使用したaws_lambda_invocationだとLambdaが修正されてもterraform applyする度に最新のLambdaが実行されます。
main.tf
data "aws_lambda_invocation" "example" {
function_name = "v18"
input = <<JSON
{
"key1": "value1",
"key2": "value2"
}
JSON
}
output "result_entry" {
value = jsondecode(data.aws_lambda_invocation.example.result)
}
適用します。
$ terraform apply
Lambdaの結果が返ってきました。次にLambdaを修正しデプロイします。
再度、適用します。
$ terraform apply
修正されたLambdaの結果が返ってくることが確認できます。
Terraform Registry

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^

コメント