Uma*_*aza 3 lambda amazon-web-services terraform
terraform apply 给了我以下错误:
错误:创建 Lambda 函数时出错:InvalidSignatureException:签名过期:20190628T091524Z 现在早于 20190628T092024Z(20190628T092524Z - 5 分钟)
许多人建议在我运行 terraform 命令的本地机器上修复时间,但这对我来说似乎不是问题。我的本地机器时间是正确的,没有问题。
这个没有解决我的问题:(由于时间不匹配,Terraform 应用失败
我认为这是由于互联网问题导致的,所以我按照以下步骤解决了这个问题。
这是工作代码。
resource "null_resource" "npm" {
provisioner "local-exec" {
command = "cd ../lambda-functions/loadbalancer-to-es && npm install --prod=only && chmod -R 777 node_modules"
}
}
resource "aws_s3_bucket_object" "file_upload" {
bucket = "${var.env_prefix_name}${var.s3_suffix}"
key = "lambda-functions/loadbalancer-to-es.zip"
source = "${data.archive_file.source.output_path}"
# etag = "${filemd5("../lambda-functions/loadbalancer-to-es.zip")}"
}
# Zip the Lambda function on the fly
data "archive_file" "source" {
type = "zip"
source_dir = "../lambda-functions/loadbalancer-to-es"
output_path = "../lambda-functions/loadbalancer-to-es.zip"
depends_on = ["null_resource.npm"]
}
# Created AWS Lamdba Function: Memory Size, NodeJS version, handler, endpoint, doctype and environment settings
resource "aws_lambda_function" "elb_logs_to_elasticsearch" {
function_name = "${var.env_prefix_name}-alb-logs-to-elk-test"
s3_bucket = "${var.env_prefix_name}${var.s3_suffix}"
s3_key = "${aws_s3_bucket_object.file_upload.key}"
description = "elb-logs-to-elasticsearch"
memory_size = 1024
timeout = 900
runtime = "nodejs8.10"
role = "${aws_iam_role.role.arn}"
depends_on = ["null_resource.npm" ]
source_code_hash = "${base64sha256(data.archive_file.source.output_path)}"
handler = "index.handler"
environment {
variables = {
ELK_DOCKTYPE = "some env"
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1853 次 |
最近记录: |