我正在添加资源aws_lambda_permission来将事件从S3发送到Lambda。但是Terraform正在抱怨下面的错误消息。
Error: error waiting for Lambda Function (py-lambda-foo) creation: unexpected state '', wanted target 'Active'. last error: %!s(<nil>)使用Terraform: Terraform v0.12.17 provider.aws v2.41.0 Local堆栈0.10.5
通过检查此命令,我能够验证函数是否已成功创建。
awslocal lambda list-functions我看到了这个问题,因为provider.aws已经创建了lambda函数,但是,local堆栈没有返回provider.aws需要处理的状态。因此,这个错误是失败的。
我打开了跟踪日志,我可以看到这些aws.provider日志,它正在等待Lambda状态更改为ACTIVE,并且它不断地敲击lambda/GetFunction。
2019-12-07T08:16:24.328Z [DEBUG] plugin.terraform-provider-aws_v2.41.0_x4: 2019/12/07 08:16:24 [DEBUG] Waiting for state to become: [Active]
2019-12-07T08:16:29.336Z [DEBUG] plugin.terraform-provider-aws_v2.41.0_x4: 2019/12/07 08:16:29 [DEBUG] [aws-sdk-go] DEBUG: Request lambda/GetFunction Details:这是我们为createFunction接收的响应
{
"CodeSha256": "xnITd7GQzVtuke7kOR5LP7iprBAmgz5iu15WISiVd0U=",
"CodeSize": 5503941,
"Description": "",
"Environment": {
"Variables": {
"foo": "bar"
}
},
"FunctionArn": "arn:aws:lambda:eu-west-1:000000000000:function:py-lambda-foo",
"FunctionName": "py-lambda-foo",
"Handler": "app.lambda_handler",
"LastModified": "2019-12-07T08:16:21.097+0000",
"MemorySize": 128,
"RevisionId": "f04d5dad-5e1e-41f0-9c96-387b7ab2313f",
"Role": "arn:aws:iam::000000000000:role/iam_for_lambda",
"Runtime": "python3.7",
"Timeout": 3,
"TracingConfig": {
"Mode": "PassThrough"
},
"Version": "$LATEST"
}发布于 2019-12-07 17:57:06
这是一个与Terraform的AWS提供程序兼容的Local堆栈问题。请看这里的问题描述,https://github.com/localstack/localstack/issues/1835
最后,Local堆栈开发人员将状态添加为ACTIVE,从而应用了修复https://github.com/localstack/localstack/pull/1838,现在这已经被Terraform的aws提供程序选中了。
https://stackoverflow.com/questions/59224451
复制相似问题