Terraform data aws_lambda_function.现有抛出错误:获取Lambda函数(MyLambd



我们要检查Lambda是否存在。我们可以把它作为参数提供给count来做其他事情。然而,当我们运行terraform plan和lambda不存在时,我们得到一个致命的异常404 ResourceNotFoundException。

locals { 
#Try 1 fails
myLambda_exist         = data.aws_lambda_function.existing != null
#Try 2 fails
myLambda_exist         = try(data.aws_lambda_function.existing, false)
#Try 3 fails
myLambda_exist         = can(data.aws_lambda_function.existing)
}
data "aws_lambda_function" "existing" {
function_name = "MyLambda"
}

异常

Error: error getting Lambda Function (MyLambda): ResourceNotFoundException: Function not found: arn:aws:lambda:region:XXXXXX:function:MyLambda
{
RespMetadata: {
StatusCode: 404,
RequestID: "12345"
},
Message_: "Function not found: arn:aws:lambda:region:XXXXXX:function:MyLambda",
Type: "User"
}

在这种情况下,还没有创建lambda是可以的!

版本:

terraform {
required_version = "=0.14.5"
required_providers {
aws = {
source  = "hashicorp/aws"
version = "=3.11"
}
}
}

我们要检查Lambda是否存在。

不能这么做. 如果资源不存在,您的数据源将始终出错。TF没有任何检查某些外部资源是否存在的能力。您必须自己开发这样的解决方案,例如,使用外部数据源。

相关内容

最新更新