首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用环境变量条件部署lambda

使用环境变量条件部署lambda
EN

Stack Overflow用户
提问于 2019-12-24 03:39:10
回答 1查看 1.4K关注 0票数 0

我已经尝试使用terraform部署了1个lambda。问题是-我计划只使用我编写的当前代码部署lambda,如果我需要使用相同的代码部署第二个、第三个和第四个lambda,但具有不同的环境变量,该怎么办?请参见下面的示例场景

代码语言:javascript
复制
LAMBDA-1 = hello-Earth
ENV VARS:
    KMS-KEY-1 = data.aws_kms_key.key1.id
    KMS-KEY-2 = data.aws_kms_key.key2.id
    ENV = DEV

LAMBDA-2 = hello-Mars
ENV VARS:
    KMS-KEY-1 = data.aws_kms_key.key1.id
    KMS-KEY-2 = data.aws_kms_key.key2.id
    ENV = SQA
    VARIETY = HOT
    SIZE = LARGE

LAMBDA-3 = hello-Neptune
ENV VARS:
    KMS-KEY-1 = data.aws_kms_key.key1.id
    KMS-KEY-2 = data.aws_kms_key.key2.id
    ENV = UAT
    VARIETY = COLD
    SIZE = MEDIUM
    DISTANCE = FAR

LAMBDA-4 = hello-Pluto
ENV VARS
    ENV = PROD
    SIZE = SMALL
    DISTANCE = FAR
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-29 15:02:02

aws_lambda_function资源有一个environment argument。您可以在其中定义您的环境变量。

因此,您的lambda函数资源将是相同的,但具有不同的环境参数,如下所示:

代码语言:javascript
复制
resource "aws_lambda_function" "hello-Earth" {
  filename      = "lambda_function_payload.zip"
  function_name = "hello-Earth"
  role          = "${aws_iam_role.iam_for_lambda.arn}"
  handler       = "exports.test"

  source_code_hash = "${filebase64sha256("lambda_function_payload.zip")}"

  runtime = "nodejs8.10"

  environment {
    variables = {
      KMS-KEY-1 = data.aws_kms_key.key1.id
      KMS-KEY-2 = data.aws_kms_key.key2.id
      ENV = "UAT"
      VARIETY = "COLD"
      SIZE = "MEDIUM"
      DISTANCE = "FAR"
    }
  }
}

resource "aws_lambda_function" "hello-Mars" {
  filename      = "lambda_function_payload.zip"
  function_name = "hello-Mars"
  role          = "${aws_iam_role.iam_for_lambda.arn}"
  handler       = "exports.test"

  source_code_hash = "${filebase64sha256("lambda_function_payload.zip")}"

  runtime = "nodejs8.10"

  environment {
    variables = {
      KMS-KEY-1 = data.aws_kms_key.key1.id
      KMS-KEY-2 = data.aws_kms_key.key2.id
      ENV = "SQA"
      VARIETY = "HOT"
      SIZE = "LARGE"
    }
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59460503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档