如何将无服务器代码部署到 AWS API Gateway 中的阶段

Posted

技术标签:

【中文标题】如何将无服务器代码部署到 AWS API Gateway 中的阶段【英文标题】:How to deploy a serverless code into a stage in AWS API Gateway 【发布时间】:2018-01-08 15:59:26 【问题描述】:

要将无服务器项目部署到服务的阶段,可以使用以下命令

无服务器部署--stage dev

摘自文档 https://serverless.com/framework/docs/providers/aws/guide/deploying/

但是,当使用上述命令部署服务时,它会在 API Gateway 中创建一个名为 dev-aws-nodejs 的新服务。

是否可以创建一个名为 aws-nodejs 的服务并具有不同的阶段,如 dev、stag、prod 等。因此,当您运行以下命令时

无服务器部署--stage stag

将在服务 aws-nodejs 下创建一个名为 stag 的新阶段。

【问题讨论】:

【参考方案1】:

根据设计,当前版本的无服务器框架不支持此功能。但是 0.5.6 版本被设计为将多个阶段部署到 api 单 api 网关项目中。以下未解决的问题与此有关。有些人提出了一些解决方法。

AWS API Gateway stages and names are separated

下面的问题,主要将不同的服务突出到同一个api网关中。但它也有一些与您的查询相关的 cmets。

Deploy many micro/nano services to one API Gateway

更新:

在最近发布的 serverless (v1.19) 中,他们提到他们已经开始为此研究解决方案。

Serverless v1.19 Changelog

【讨论】:

以上是关于如何将无服务器代码部署到 AWS API Gateway 中的阶段的主要内容,如果未能解决你的问题,请参考以下文章

如何将无服务器 Step Function/状态机/Lambda 构建嵌套到现有 AWS CloudFormation ElasticBeanstalk 应用程序中?

Red Gate Ants 不会跟踪已部署代码中的任何方法

如何将我的云代码部署到 AWS Elastic Beanstalk? (解析服务器)

将网络核心 API 部署到 AWS Elastic Beanstalk 服务器时出错

将 React 应用程序部署到 AWS

无法将 Rails API 应用程序部署到 AWS Elastic Beanstalk