【发布时间】:2020-10-22 13:40:09
【问题描述】:
我正在创建一个 cloudformation 模板,资源很少,有几个 lambda 函数,S3 存储桶。请参阅下面的代码,它正在进行中,到目前为止,我有一个 S3 存储桶和一个由 S3 触发的 lamda 函数。我们在我们的团队中定义了我们应该使用的 vpc。我想在该 vpc 下为我的 lambda 函数添加私有子网,并为 s3 存储桶分配公共子网。如何获取 vpc 的引用,并将其传递给我的模板并使用它?示例代码会有所帮助。
AWSTemplateFormatVersion: 2010-09-09
Resources:
# S3 Bucket
S3Bucket:
Type: AWS::S3::Bucket
# Functions
S3-Lambda-trigger:
Type: AWS::Serverless::Function
Properties:
CodeUri: .
Handler: lambda.handler
Description: s3 object creation triggers lambda
Runtime: nodejs12.x
Events:
S3Bucket:
Type: S3
Properties:
Bucket: !Ref S3Bucket
Events: 's3:ObjectCreated:*'
# Permissions
Allow-lamda-invocation-s3:
Type: AWS::Lambda::Permission
Properties:
Action: 'lambda:InvokeFunction'
FunctionName: !Ref S3-Lambda-trigger
Principal: s3.amazonaws.com
SourceArn: !GetAtt S3Bucket.Arn
【问题讨论】:
标签: amazon-web-services amazon-cloudformation amazon-vpc