在 Amazon API 网关的上下文中,"stage" 是什么?
What is a "stage" in the context of Amazon API Gateway?
Amazon API Gateway 上下文中的“阶段”是什么?它的用途是什么以及如何创建一个?
production/staging/development公约中的“分期”有什么关系吗?
我认为 API 网关阶段是管道中的不同阶段或同一应用程序堆栈的不同环境。您可以拥有任意多个阶段。在一个简单的堆栈中,我们可以想到 3 个阶段:dev、qa 和 prod。您可以在阶段中做的几件事:
- 每个阶段都有不同的 URL。像
https://api-gateway-domain/dev/...
、https://api-gateway-domain/qa/..
、https://api-gateway-domain/prod/..
。基本上 URL 将是 https://api-gateway-domain/<stage_name>/..
。
- 您可以使用自定义域名与每个阶段相关联。
- 您可以为每个阶段关联不同的使用计划。
- 您通常至少有 1 个阶段变量来唯一定义您的阶段。这可能是 Elastic Beanstalk URL,每个环境都不同。通过阶段变量,您将为每个阶段调用不同的后端 URL。
- 您可以为该应用程序的不同阶段部署不同版本的 API 网关配置。
您可以将 API 网关阶段视为您的 API 的特定生命周期阶段或版本。
例如:
- 生产阶段
- 发展阶段
- 测试阶段
从这些阶段,您可以配置限制和缓存等内容。
尽管您可以将阶段用作管道或环境中不同阶段的一部分,但这违背了管理环境的 AWS 最佳实践。
如果您想要一个开发环境,请创建一个开发环境 user/account 并使用它进行部署。同样,其他环境如生产或预生产。
我也不想使用 Stages 对我的 API 进行版本控制。 (因为版本控制 REST API 是一个巨大的反模式)
这又引出了一个问题,即 AWS 网关中的阶段实际上是用来做什么的?每当我使用它们时,我都会在那里找到一个合理的占位符。
Amazon API Gateway 上下文中的“阶段”是什么?它的用途是什么以及如何创建一个?
production/staging/development公约中的“分期”有什么关系吗?
我认为 API 网关阶段是管道中的不同阶段或同一应用程序堆栈的不同环境。您可以拥有任意多个阶段。在一个简单的堆栈中,我们可以想到 3 个阶段:dev、qa 和 prod。您可以在阶段中做的几件事:
- 每个阶段都有不同的 URL。像
https://api-gateway-domain/dev/...
、https://api-gateway-domain/qa/..
、https://api-gateway-domain/prod/..
。基本上 URL 将是https://api-gateway-domain/<stage_name>/..
。 - 您可以使用自定义域名与每个阶段相关联。
- 您可以为每个阶段关联不同的使用计划。
- 您通常至少有 1 个阶段变量来唯一定义您的阶段。这可能是 Elastic Beanstalk URL,每个环境都不同。通过阶段变量,您将为每个阶段调用不同的后端 URL。
- 您可以为该应用程序的不同阶段部署不同版本的 API 网关配置。
您可以将 API 网关阶段视为您的 API 的特定生命周期阶段或版本。
例如:
- 生产阶段
- 发展阶段
- 测试阶段
从这些阶段,您可以配置限制和缓存等内容。
尽管您可以将阶段用作管道或环境中不同阶段的一部分,但这违背了管理环境的 AWS 最佳实践。
如果您想要一个开发环境,请创建一个开发环境 user/account 并使用它进行部署。同样,其他环境如生产或预生产。
我也不想使用 Stages 对我的 API 进行版本控制。 (因为版本控制 REST API 是一个巨大的反模式)
这又引出了一个问题,即 AWS 网关中的阶段实际上是用来做什么的?每当我使用它们时,我都会在那里找到一个合理的占位符。