我有一个用于创建Lambda资源的Terraform配置,并使用source_code_hash属性来检测zip的更改。我还上传了一个单独的文件,其中包含文件的SHA256哈希值以及zip文件到S3。
我能够做一次部署,但问题是运行的Lambda在我更新zip后没有得到更新,并且在构建日志中我看到"仍在创建…">
我怎么能看到source_code_hash属性的值?我只是在计划输出和应用输出中看到+ source_code_hash =(应用后已知),所以我不知道值是否正在更新。
我的代码如下:
data "aws_s3_object" "source_hash" {
bucket = "dap-bucket-2"
key = "lambda.zip.sha256"
}
resource "aws_lambda_function" "lambda" {
function_name = "lambda_function_name"
s3_bucket = "dap-bucket-2"
s3_key = "lambda.zip"
handler = "template.handleRequest"
runtime = "java11"
role = aws_iam_role.lambda_exec.arn
source_code_hash = "${data.aws_s3_object.source_hash.body}"
publish = true
}
对于s3对象,通常使用etag:
source_code_hash = data.aws_s3_object.source_hash.etag