AWS CloudFormation:如何从另一个AWS账户为Lambda代码指定存储桶?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS CloudFormation:如何从另一个AWS账户为Lambda代码指定存储桶?相关的知识,希望对你有一定的参考价值。

在编写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代码片段:

  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'
答案

S3存储桶是S3存储桶。它所在的AWS账户无关紧要。如果您有权访问该存储桶,则可以访问该存储桶。

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

以上是关于AWS CloudFormation:如何从另一个AWS账户为Lambda代码指定存储桶?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 cloudformation 中的默认根 EBS 大小? [AWS]

AWS CloudFormation 模板:如何获取模板信息?

AWS - 如何使用 CDK/CloudFormation 将服务链接角色传递给自动缩放组?

如何使用 aws cloudformation 或 aws cdk 设置 aws aurora mysql 表?

如何使用 AWS CloudFormation 在 AWS API Gateway 上应用安全策略?

AWS Amplify:如何重新创建手动删除的 CloudFormation 堆栈