【问题标题】:Cloudformation lambda function code reference a generated s3 bucketCloudformation lambda 函数代码引用生成的 s3 存储桶
【发布时间】:2017-10-15 19:03:17
【问题描述】:

提前致谢!

所以我目前有一个创建 lambda 函数的云形成脚本,lambda 函数中的代码需要引用一个 s3 存储桶,该存储桶也需要由相同的 cloudformation 脚本生成。 lambda 函数的代码存储在一个 pre-cloudformation 存储桶中,该存储桶在运行时被拉入。

我遇到的问题是如何在我的 node.js lambda 函数代码中满足以编程方式生成的存储桶名称?

对我来说感觉有点鸡肋!

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-lambda amazon-cloudformation


    【解决方案1】:

    您可以使用 Lambda function environment variable 引用您的 S3 存储桶。您的代码是静态的,不会按名称引用硬编码的存储桶。相反,它从环境变量中检索存储桶名称。

    在您的 CloudFormation 脚本中,您可以将环境变量设置为您在 environment 属性下的 AWS::Lambda::Function 定义的一部分。

    例如:

    "Resources" : {
    
        "MyFunction" : {
          "Type" : "AWS::Lambda::Function",
          "Properties": {
            "Environment" : {
              "Variables" : {
                "BucketName" : { "Ref" : "MyBucket" }
              }
            },
          }
        },
        "MyBucket" : {
           "Type" : "AWS::S3::Bucket"
        }
    }
    

    【讨论】:

    • 听起来很有希望,谢谢,我会试试看!所以基本上我的 nodejs 脚本中的代码将引用环境变量存储桶名称而不是实际存储桶名称,对吗?
    • 正确。环境变量将包含实际存储桶名称的值。
    猜你喜欢
    • 2016-07-20
    • 2020-07-05
    • 2020-03-14
    • 1970-01-01
    • 2019-05-06
    • 1970-01-01
    • 2015-04-30
    • 2020-01-26
    • 1970-01-01
    相关资源
    最近更新 更多