【问题标题】:AWS Lambda Environment VariableAWS Lambda 环境变量
【发布时间】:2017-12-17 10:14:29
【问题描述】:

当我通过 aws-lambda 控制台将环境变量添加到 aws-lambda 时,我可以使用以下方法引用这些变量:

import os
# ...
print("environment variable: " + os.environ['variable'])

如何在 cloudformation 模板中使用 aws-lambda 中的环境变量?我不想在 aws-lambda 控制台中声明环境变量。

谢谢

【问题讨论】:

    标签: python aws-lambda amazon-cloudformation


    【解决方案1】:

    如果您使用YAML template 来声明云形成配置,那么您可以在Parameters 下定义您的环境变量:

    Parameters:
      Domain: {Type: String, Default: 'test', AllowedValues: ['test', 'gamma', 'prod']}
      ...
    

    然后在您声明 Lambda 资源的地方使用它,如下所示

    Resources:
      LambdaFunction:
        Properties:
          Environment:
            Variables:
              DOMAIN: {Ref: Domain}
              .......
    

    【讨论】:

      【解决方案2】:

      根据AWS documentationAWS::Lambda::Function 资源有Environment property,您可以使用它来指定环境变量。因此,您在云形成文件中的资源如下所示:

      {
        "Type" : "AWS::Lambda::Function",
        "Properties" : {
          "FunctionName" : "Your function name",
          "Environment" : {
              "Variables": {
                 "variable1": "value1",
                 "variable2": "value2"
              }
          },
          ...
        }
      }
      

      【讨论】:

      • 谢谢 - 我可以将这些环境变量分配给 lambda 中的变量吗?所以我会这样做: ... 变量 1 = os.environ['variable1']) 和变量 2 = os.environ['variable2'])
      猜你喜欢
      • 2017-08-01
      • 2018-07-15
      • 2022-11-03
      • 2021-05-09
      • 1970-01-01
      • 1970-01-01
      • 2019-07-16
      • 2018-09-14
      • 2021-11-12
      相关资源
      最近更新 更多