【发布时间】:2021-01-24 11:22:54
【问题描述】:
我正在使用 CloudFormation 和 SAM 来部署一个堆栈,其中包含:
- S3 存储桶
- 认知
AWS::Serverless::Api-
AWS::Serverless::Function(授权者 + 微服务,Type: Api和 API 网关的端点) - 日志组
为了部署我的堆栈,我首先运行 aws cloudformation package 来打包 lambda,然后运行 aws cloudformation deploy 来部署生成的堆栈。这是有效的。
我现在的目标是能够在不部署整个堆栈(不构建授权人和其他微服务)的情况下更新微服务,类似于无服务器框架中的serverless deploy function。这最好是一个使用宏或仅替换文件中文本的可重用模板。
我面临的问题:
- 运行
aws lambda update-function-code需要重新部署 lambda - 要重新部署 lambda,我必须声明
AWS::Serverless::Function。要使该函数成为 API 网关的一部分,还必须声明AWS::Serverless::Api。 - 声明
AWS::Serverless::Api需要定义所有其他函数,否则它们将从 API 网关中删除。
我觉得自己被困在这里,没有找到实现目标的其他选择。
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-cloudformation aws-api-gateway aws-sam