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

0

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

profile picture
전문가
질문됨 6달 전42회 조회
1개 답변
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
전문가
답변함 6달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠