跳到主要内容
版本:v2.0.0

API Creation and Deployment

概念

什么是API?

一个 API (Application Programming Interface) 是一组定义和协议,允许软件应用程序彼此通信。在 APIM (API Management) 的上下文中,API 代表一组可以被客户端调用的操作,便于访问后端服务。

为什么要创建API?

创建API为提供者和消费者都带来了几个好处:

对于提供者:

  • 模块化:将功能封装为可重用的服务。
  • 可扩展性:促进可扩展应用程序的开发。
  • 安全性:实施访问控制和监控。
  • 盈利化:将API作为产品提供给外部开发者或合作伙伴。

对于消费者:

  • 可访问性:在不理解内部实现的情况下访问服务。
  • 效率:快速将功能集成到应用程序中。
  • 创新:通过组合现有API构建新解决方案。

API在APIM和Kong Gateway中的作用

在APIM中,API作为客户端与后端服务之间的主要接口。它们:

  • 定义客户端如何与服务交互。
  • 强制执行身份验证、速率限制和转换等政策。
  • 监控使用情况和性能指标。

每个API都与特定项目相关联,并通过网关进行部署,网关作为处理API请求的运行时组件。

Kong Gateway通过提供以下功能增强API管理:

  • 高级路由:根据各种标准直接请求。
  • 安全性:实施身份验证、授权和加密。
  • 可观察性:监控API的使用情况和性能。
  • 可扩展性:通过插件添加功能。

通过APIM创建API的优势

没有 APIM 管理 API 的挑战

在传统环境中,直接在像 Kong 这样的网关上创建 API(通过 CLI、REST API 或配置文件)通常会带来几个限制:

  • 手动配置开销:每个 API 必须手动定义,增加了人为错误和不一致的风险。
  • 缺乏中央可见性:开发人员和管理员缺乏一个统一的视图来管理、审计或审查所有注册的 API。
  • 分散的策略管理:安全策略、速率限制和请求/响应转换必须逐个 API 手动应用,没有版本控制或历史记录。
  • 限制的协作:没有共享平台,开发人员、测试人员和管理人员之间的协作变得低效。
  • 无生命周期支持:管理 API 版本、部署前测试或跟踪更改繁琐,需要自定义脚本或外部工具。

随着 API 数量的增加,或者在多个团队或环境中工作时,这些问题变得更加严重。

APIM 如何解决这些问题

APIM 系统在 Kong Gateway 之上提供了强大的管理层,提供了一种简化和可扩展的 API 管理方式。其好处包括:

  • 可视化界面:用户可以通过用户友好的 Web 控制台创建、配置和部署 API,无需使用 CLI 或手动编辑配置文件。
  • 集中式 API 注册:所有 API 按项目管理,允许明确的所有权、隔离和治理。
  • 集成策略应用:在 API 配置期间轻松附加安全、限流、日志记录和转换策略,并具有明确的版本控制。
  • 无缝部署:一键部署到项目特定的网关,减少错误并支持分阶段环境。
  • 内置版本控制与文档:API 可以在同一环境中进行版本控制、测试和文档编写,从而提高可维护性。
  • 团队协作:通过基于角色的访问,不同的利益相关者(管理员、开发人员、测试人员)可以在项目边界内安全地进行贡献。

最终,APIM 通过将 Kong 的运行时能力与结构化管理平台相结合,改变了 API 的构建和维护方式,减少了操作负担,并实现了更快、更安全的开发工作流程。

创建 API 的步骤

要在 APIM 中创建 API,请按照以下步骤操作:

访问 APIM 控制台

使用您的 apim-admin 凭据登录。

选择适当的项目并转到 API 管理部分。

添加新 API

点击“+ 添加 API”。选择定义您的 API 的方法。

配置 API 设置

  • 名称:API 的唯一标识符。
  • 描述:关于 API 的可选详细信息。
  • 标签:用于 API 标记/分组和过滤/搜索的定义。
  • API 类型:HTTP / Websocket / Lambda(用于定义 AWS Lambda 调用 URL)。RESTful API 选择 HTTP。
  • HTTP 方法:添加操作(例如,GET、POST),指定 URL 路径和参数。
  • 网关:附加到项目的 Kong 网关和网关 URL。
  • 网关:选择 API 将要部署的网关。网关在创建项目时由管理员预先配置。
  • 网关 URL:这是 API 将使用的域名(主机名)。
  • 网关 URL 基路径:这是每个网关 URL 的上下文路径或根路径。
  • 基础路径:在域名之后,定义作为每个业务路由标准的上下文路径或根路径。(例如,/business 或 /business/v1/apis)。
  • 去除路径:如果路由到后端包括整个基础路径,则设置为 False;如果去除基础路径并从后续路径开始路由,则设置为 True。
  • API URL:这是提供给前端或客户端应用程序并被调用的 API URL。
  • Swagger 导入路径:APIM 根据后端 URL + Swagger 导入路径从后端检索、存储和管理 Swagger 文档。
  • 后端 URL:后端服务端点。
  • 发布到开发者门户:此设置允许在开发者门户中查看 API 并将其配置为产品。

应用策略

实施身份验证、速率限制、转换等策略。

编写或更新 API 文档

使用内置的 Markdown 编辑器编写或更新您的 API 文档。

或者,如果在“API 设置”步骤中配置了“Swagger 导入路径”,您可以通过“获取 Swagger”按钮从后端服务检索 Swagger 文档。导入的文档必须是“已保存的 Swagger”和“已部署的 API”,才能发布给用户。

预览内容并点击“API 部署”。文档将能够在“API 文档”菜单中显示,并通过开发者门户供授权用户访问。

将 API 保存到 API 管理

保存 API 配置并在 API 管理屏幕中查看创建的 API。

备注

有关详细说明和其他选项,请参阅用户指南 > APIM 控制台指南 > API 管理

API 部署

成功创建 API 后,您可以点击创建的 API 以访问 API 配置屏幕。在这里,您可以点击 API 部署按钮以部署 API,使其可外部访问。

每次 API 部署都会为其生成一个新版本。每次执行 API 部署时,您都需要输入版本描述。

API 部署后,用户可以通过 API 部署菜单监控 API 状态和部署日志。

用户还可以点击每个单独的 API 部署记录以查看 API 及其版本的详细信息。

完成此步骤后,API 现在在网关上处于活动状态,并可以通过其公共端点 URL 访问。您现在可以继续进行最后一步以测试 API。