隆重推出 Amazon API Gateway 集成!

  2016 年 6 月 1 日

 

直接从 SwaggerHub 将您的 API 定义部署到 AWS API Gateway!

过去几年,无服务器基础设施逐渐兴起。基础设施即服务 (IaaS) 改变了格局,带来了低成本、敏捷性、可扩展性和可靠性。由于无需额外工作来管理和维护服务,SwaggerHub 推出的下一个重大集成是与无服务器 API Gateway 服务集成也就顺理成章了。Amazon API Gateway 就是这样一种无需介绍的服务。它是一个完全托管的平台,允许用户构建、部署和管理任何规模的 API。Amazon API Gateway 的重要方面是它支持 Swagger 定义格式来设计和构建 RESTful API,而且您知道,SwaggerHub 的全部意义就在于 Swagger! AWS - SH 如果开发人员可以使用可用的最佳工具来设计 API,从 API 模拟到强大的 API 编辑器的动态功能,并将其部署到 AWS API Gateway,同时消除定义和 Lambda 函数之间通常需要的复杂配置,生活可能会轻松得多。这正是 SwaggerHub 最新的 Amazon Gateway 集成可以提供帮助的地方。借助 Amazon Gateway 集成,您可以快速、自动地在 Amazon Gateway 上公开您的 API 以供使用。无服务器部署也得到了处理,SwaggerHub 从 SwaggerHub 的 Swagger 定义中自动生成 Amazon Lambda 中 API 代码的构建块!

SwaggerHub 有两个可用的 API Gateway 集成 –

  • Amazon API Gateway
  • Amazon API Gateway Lambda 同步

这些集成位于 API 的右上角。 管理集成

Amazon API Gateway

Amazon API Gateway 允许用户以代理模式快速将他们的 API 部署在 Amazon Gateway 上,这允许 Amazon API Gateway 处理身份验证、速率限制等事项。SwaggerHub 将使 Gateway 定义与您的 API 定义保持同步。用户可以根据自己的需求配置集成。可以自定义以下字段

  • 名称: 集成的名称,将显示在 SwaggerHub 中
  • AWS 区域: 支持 AWS Gateway 的区域。注意,并非所有列出的 AWS 区域都支持 Gateway,请查阅 AWS 文档
  • API ID: 要发布到的 API 的 ID。如果 AWS Gateway 上没有与 API 定义的 title 匹配的 ID,则将此字段留空将在 AWS Gateway 上创建一个新的 ID
  • 发布模式: 如果 API 已经在 Gateway 上存在,则指示集成是否应合并或覆盖 SwaggerHub 上 API 中的更改与 AWS Gateway 上的更改
  • 基本路径模式: API Gateway 有几种表达资源路径的方法,有三个选项可以解释 basePath 属性 - 忽略前置拆分。有关更多详细信息,请访问 此处
  • 部署模式: 允许用户自定义 API 推送到 Gateway 的方式。用户可以“保存时推送”或完全禁用集成。在某些情况下,用户不希望每次单击保存时都将 API 推送到 Gateway,在这种情况下,在部署模式上选择 从不 将会有所帮助。
  • 要代理到的服务器地址: 这允许用户将自定义 API 连接到 AWS 服务。
  • AWS 访问密钥和秘密密钥: 授权 SwaggerHub 连接到 API Gateway 所需的密钥。有关更多详细信息,请访问 此处

API 网关 配置完成后,现在可以从 SwaggerHub 部署 API 并与 AWS Gateway 同步!

Amazon API Gateway Lambda 同步

AWS Lambda 帮助用户构建其服务的后端逻辑,而无需管理服务器的麻烦。Amazon API Gateway 和 Lambda 函数可以很好地协同工作,作为互补服务。API Gateway 使 Web 客户端能够动态调用 Lambda 函数。Lambda 同步集成在 Gateway 上为您完成复杂的管道工作,这意味着用户只需要担心应用程序的真正业务价值。可以根据用户的需求配置集成。

  • 名称: 集成的名称
  • AWS 区域: 支持 AWS Gateway 的区域
  • API ID: 要发布到的 API 的 ID。如果 AWS Gateway 上不存在通过匹配 Swagger 定义 title 值而存在的 API,则将此字段留空将在 AWS Gateway 上创建一个新的 API
  • 发布模式: 如果 API 已经在 Gateway 上存在,则指示集成是否应合并或覆盖 SwaggerHub 上 API 中的更改与 AWS Gateway 上的更改
  • 基本路径模式: API Gateway 有几种表达资源路径的方法。有三个选项可以解释 basePath 属性 - 忽略前置拆分。有关更多详细信息,请访问 此处
  • 部署模式: 允许用户自定义 API 推送到 Gateway 的方式。用户可以“保存时推送”或完全禁用集成。在某些情况下,用户不希望每次单击保存时都将 API 推送到 Gateway,在这种情况下,在部署模式上选择 从不 将会有所帮助。
  • 用于创建不存在的 Lambda 函数的执行角色: 这决定了 SwaggerHub 应如何创建 Lambda 函数。
  • AWS 访问密钥和秘密密钥: 授权 SwaggerHub 连接到 API Gateway 所需的密钥。有关更多详细信息,请访问 此处

API Gateway Lambda 配置完成后,现在可以部署 API 设计并与 Amazon Lambda 函数同步。Lambda 函数由每个操作中的 operationId 创建和匹配。如果您的 OpenAPI 规范中没有 operationId(它们是可选的),则会为您创建一个。如果存在与 operationId 名称相同的 Lambda 函数,则将使用该函数,并且不会创建新函数。

其他说明

在代理模式和 Lambda 模式下,SwaggerHub 都会为每个操作添加(如果不存在)Amazon 特定的 Swagger 定义扩展。这些扩展决定了 API Gateway 的配置方式。如果 SwaggerHub 看到扩展已经存在,则不会修改它们。因此,如果您对定义进行更改并且需要更新到 AWS Gateway 的映射,则应在保存之前删除扩展。Amazon API Gateway 不支持 Swagger 定义的每个功能。SwaggerHub 会尝试在保存时禁用定义中不支持的功能,它会在定义中将其标记为不支持。由于 Amazon API Gateway 的功能在不断改进,请查阅 Amazon 文档以获取限制列表。这两个集成是强大的工具,可以使用 AWS API Gateway 以最有效的方式将您的 API 从设计变为部署。

要查看实际的集成,请查看此简短的截屏视频!

立即在 SwaggerHub 试用!如果您对新集成有任何建议,或希望看到您的产品与 SwaggerHub 集成,请在此处提出功能请求 此处