我试图在S3桶中创建一个函数代码的lambda函数。下面是我的模板。该模板创建lambda,但不创建前面提到的S3桶。我正在寻找通过此模板创建S3桶的帮助。
Resources:
ProducerLambda:
Type: 'AWS::Serverless::Function'
Properties:
FunctionName: !Sub '${ApplicationId}-${env}-Producer-Lambda-${AWS::AccountId}-${AWS::Region}'
Handler: index.handler
Runtime: nodejs14.x
CodeUri:
Bucket: s3bucket
Key: s3bucketref.zip
Role: 'arn:aws:iam::${AWS::AccountId}:role/Producer-lambda-trigger-role'
VpcConfig:
SecurityGroupIds: !Ref SecurityGroup
SubnetIds: !Ref VPCSubnetId
Environment:
Variables:
Region: !Sub '${AWS::Region}'
CodeUri
用于指定函数代码的路径—这可以是Amazon S3 URI、本地文件夹的路径或FunctionCode
对象。
不用于创建S3桶。
如果在s3bucket/s3bucketref.zip
中不存在打包的功能,那么你必须自己创建桶并上传包。
或者,使用sam build
将为您构建Lambda &sam deploy
将自动为您创建一个S3桶:
通过AWS CloudFormation部署AWS Lambda函数需要一个Amazon Simple Storage Service (Amazon S3)桶作为Lambda部署包。AWS SAM CLI为您创建并管理Amazon S3桶。
后者管理起来简单得多。