在单独的存储库中使用 terraform 创建 lambda

0

【以下的问题经过翻译处理】 我需要创建一个 lambda 函数而不添加任何源,以便 terraform 脚本只会创建一个 lambda。 这将在基础设施仓库中,你可以说我只是在其中提供服务。 然后在开发人员将使用的另一个存储库中,我们将有一个需要部署在该 lambda 中的应用程序代码。 因此,当我在 Infra 存储库中使用 terraform 创建 lambda 时,source_path 似乎是强制性的......请建议我如何实现这一点。

profile picture
EXPERTO
preguntada hace 6 meses41 visualizaciones
1 Respuesta
0

【以下的回答经过翻译处理】 您可以使用filename参数为函数指定一个虚拟的源文件,例如:

resource "aws_lambda_function" "my_lambda" {
  function_name = "my-lambda-function"
  role         = aws_iam_role.lambda_role.arn
  handler      = "index.handler"
  runtime      = "nodejs14.x"
  filename     = "/dev/null"
  source_code_hash = "0" # 当未指定源代码时,需要绕过source_code_hash验证
}

在将Lambda函数创建到基础设施仓库中后,您可以使用函数ARN来引用它。您可以使用数据源通过函数名称查找ARN:

data "aws_lambda_function" "my_lambda" {
  function_name = "my-lambda-function"
}

resource "aws_lambda_alias" "my_alias" {
  name             = "my-lambda-alias"
  function_name    = data.aws_lambda_function.my_lambda.arn
  function_version = "$LATEST"
}

希望对您有所帮助

profile picture
EXPERTO
respondido hace 6 meses

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas