【发布时间】:2019-10-23 11:30:08
【问题描述】:
可以在单独的 cloudformation 模板中创建 s3 存储桶和触发的 lambda。我想将长期运行的资源堆栈与 lambda 之类的资源堆栈分开,后者会经常更新
当尝试单独创建 lambda 时,它说 lambda 事件中定义的存储桶应该在同一个模板中定义并且不能被引用。
GetFileMetadata:
Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
Properties:
FunctionName: !Sub '${targetenv}-lambdaname'
CodeUri: target-file-0.0.1-SNAPSHOT.jar
Handler: LambdaFunctionHandler::handleRequest
Runtime: java8
Timeout: 30
MemorySize: 512
Environment: # More info about Env Vars: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#environment-object
Variables:
STAGE: !Sub '${targetenv}'
Events:
S3Event:
Type: S3
Properties:
Bucket:
Ref: MyS3Bucket
Events:
- 's3:ObjectCreated:*'
MyS3Bucket:
Type: 'AWS::S3::Bucket'
DependsOn: BucketPermission
Properties:
BucketName: !Sub 'bucketname-${targetenv}'
# LifecycleConfiguration:
# Rules:
# - ExpirationInDays: 14
【问题讨论】:
标签: amazon-web-services amazon-s3 aws-lambda amazon-cloudformation aws-sam