0

在此先感谢!Cloudformation lambda函数代码参考一个生成的s3桶

因此,我目前有一个创建lambda函数的云形成脚本,lambda函数中的代码需要引用也需要由同一个cloudformation脚本生成的s3存储桶。 lambda函数的代码存储在一个预先运行的云形成桶中。

我遇到的问题是,如何在我的node.js lambda函数代码中为编程生成的存储桶名称提供服务?

感觉有点鸡和鸡蛋的情况给我!

回答

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" 
    } 
} 
+0

听起来前途,谢谢,我会给这个去!所以本质上,我的nodejs脚本中的代码将引用环境变量存储桶名称而不是实际的存储桶名称,这是否正确? –

+1

正确。环境变量将包含实际存储桶名称的值。 –