【问题标题】:AWS CloudFormation: How to specify a bucket from another AWS account for Lambda code?AWS CloudFormation:如何为 Lambda 代码指定来自另一个 AWS 账户的存储桶?
【发布时间】:2018-08-09 23:10:20
【问题描述】:

在编写 AWS CloudFormation 模板以创建 Lambda 函数时,需要“代码”字段。 我在这里找到了文档:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html

文档说您可以将 Lambda 函数的来源指定为 S3 存储桶中的 zip 文件。在S3Bucket 字段中,它表示“只要 Lambda 函数和存储桶位于同一区域,您就可以从另一个 AWS 账户指定存储桶。”

如果您在 S3Bucket 字段中输入存储桶名称,它将尝试在同一 AWS 账户中查找存储桶。所以我的问题是如何从另一个 AWS 账户指定存储桶?

我为 CFT 创建的 yaml 中的代码 sn-p:

  MyLambdaFunction:
    Type: AWS::Lambda::Function
    Properties:
      Handler: index.handler
      Runtime: nodejs6.10
      Role: !GetAtt LambdaRole.Arn
      FunctionName: 'MyLambda'
      MemorySize: 1024
      Timeout: 30
      Code: 
        S3Bucket: 'my-bucket'
        S3Key: 'my-key'

【问题讨论】:

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


    【解决方案1】:

    S3 存储桶是 S3 存储桶。它在哪个 AWS 账户中无关紧要。如果您有权访问存储桶,那么您就可以访问它。

    只需提供 S3 存储桶的名称(在这种特定情况下,它必须位于同一区域)并确保您使用的凭据被允许访问 S3 存储桶。

    【讨论】:

      【解决方案2】:

      如果您在多个 AWS 区域部署 Cloudformation 堆栈,则可以使用 cfs3-uploader 之类的工具在每个区域中快速创建相同的 S3 存储桶。

      【讨论】:

        猜你喜欢
        • 2021-03-28
        • 2019-06-28
        • 2017-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多