有没有办法在 terraform 脚本内检索图层的最新版本?

sli*_*pha 1 aws-lambda terraform aws-lambda-layers

我有引用一个层的 lambda,该层由其他人维护,当发布新版本时,我必须更新我的 terraform 代码以将最新版本放入 arn(此处为 19)。

有没有办法在 terraform 脚本中获取最新版本并使用它?

module "lambda_function" {
  source = "terraform-aws-modules/lambda/aws"

  function_name = "my-lambda1"
  description   = "My awesome lambda function"
  handler       = "index.lambda_handler"
  runtime       = "python3.8"

  source_path = "../src/lambda-function1"

  tags = {
    Name = "my-lambda1"
  }
  
  layers = [
    "arn:aws:lambda:eu-central-1:587522145896:layer:my-layer-name:19"
  ]
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

ps:这意味着该图层的 terraform 脚本不在我的脚本中,它是我无权访问的其他脚本。

Ben*_*ley 6

您可以使用aws_lambda_layer_version数据源来发现最新版本。

例如:

module "lambda_function" {
  source = "terraform-aws-modules/lambda/aws"

  function_name = "my-lambda1"
  description   = "My awesome lambda function"
  handler       = "index.lambda_handler"
  runtime       = "python3.8"

  source_path = "../src/lambda-function1"

  tags = {
    Name = "my-lambda1"
  }
  
  layers = [
    data.aws_lambda_layer_version.layer_version.arn
  ]
}

data "aws_lambda_layer_version" "layer_version" {
  layer_name = "my-layer-name"
}


Run Code Online (Sandbox Code Playgroud)