我已经在无服务器形式的cloudformation中创建了一个S3存储桶,如下所示:
s3bucket:
Type: 'AWS::S3::Bucket'
BucketPolicy:
Type: "AWS::S3::BucketPolicy"
Properties:
Bucket: !Ref 's3bucket'
PolicyDocument:
Id: ProdAnsiblePolicy
Version: "2012-10-17"
Statement:
-
Effect: Allow
Principal:
AWS: 'arn:aws:iam::*******:user/prodAnsible'
Action: 's3:*'
Resource:
- !Join ['', ['arn:aws:s3:::', !Ref 's3bucket']]
现在,我想在serverless documentation中看到的lambda事件中引用此存储桶。需要明确的是,我需要在云层中创建此S3存储桶,以便可以授予prodAnsible用户访问权限。
这就是我尝试在lambda中引用它的方式:
update_tenant_config:
handler: functions/tenants_handlers.update_tenant_config
events:
- s3:
bucket: s3bucket
event: s3:ObjectRemoved:*
existing: true
谢谢您的帮助!
答案 0 :(得分:0)
在云形成中,您可以添加一个BucketName属性,该属性可以在云形成之外引用。
Properties:
BucketName: ${opt:stage}-your-bucket-name