我正在使用Serverless框架部署一个项目,该框架包括不同的资源(lambda函数,cognito用户池,cognito身份池等)
对于以前的项目,我们从控制台(手动)创建了第二个Api网关的配置(除了在lambda上使用Serverless配置的配置之外),仅作为s3存储桶的代理,因此我们无需使用lambda就可以从存储桶中添加和获取文件。
现在,我想对这个新项目进行精确的修改,但是要从控制台手动创建第二个Api网关,有一种方法可以直接从无服务器配置中声明此代理?
我搜索了不同的解决方案,但是我没有找到任何指导。
我要在配置中进行的操作是amazon guide所解释的。
答案 0 :(得分:1)
您可以使用this插件,该插件可以非常轻松地设置API网关服务代理(我是合作者之一)。
serverless.yml
示例:
service: s3-proxy
provider:
name: aws
runtime: nodejs10.x
plugins:
- serverless-apigateway-service-proxy
custom:
apiGatewayServiceProxies:
- s3:
path: /s3/{key}
method: post
action: PutObject
bucket:
Ref: S3Bucket
key:
pathParam: key
cors: true
resources:
Resources:
S3Bucket:
Type: 'AWS::S3::Bucket'