API Management
API 管理简介
API 管理提供了在 APIM 系统内创建、配置、测试、部署和监控 API 的功能。它作为一个集中式接口,使用户能够高效地管理 API。
主要功能
API Creation & Initial Configuration: 用户可以创建具有所需配置的新 API。
API Post-Creation Configuration:- API Policies Applying: 用户可以应用身份验证、安全性和流量控制的策略。
- Canary Config: 允许对 API 版本进行受控发布。
- API Documentation: 可以获取和编辑 Swagger 文档。
- API Testing: 在部署之前,可以使用请求方法、头部和参数测试 API。
- API Deployment: 用户可以发布 API,使其可供外部访问。
- API Modification and Deletion: 提供 API 使用情况的洞察并支持更新。
访问 API 管理
用户可以从侧边菜单导航到 API Management。
此屏幕提供所有 API 的概述,并提供过滤、搜索和管理 API 的选项。
API 管理屏幕的功能
Project Selection: 选择一个项目以查看其 API。
API Data Table: 显示项目内所有 API 的列表。支持分页。
Search Bar: 允许使用关键字搜索 API。
Create API Button: 访问 API 创建界面。
API and Gateway Tag Filter: 根据网关标签或 API 标签过滤 API。
API 创建与初始配置
用户可以通过点击 API 管理屏幕上的 CREATE AN API 创建新的 API。
步骤:
- Select Project: 从下拉列表中选择一个项目。
- Configure API Details: 请参阅下面的 API 初始配置详细信息。
- Save API: 点击 API STORAGE 完成创建或 CANCELLATION 取消。
API 初始配置详细信息
Field Name | Purpose | Input Notes | Mandatory |
---|---|---|---|
API 名称 | 唯一的 API 标识符。 | 英文字母、数字、空格、下划线 ‘_’ 或双冒号 ‘:’。 | 是 |
API 描述 | 关于 API 的附加详细信息。 | 简短描述。 | 否 |
API 标签 | 用于过滤/搜索 API。 | 用 Enter 分隔标签 | 否 |
API 类型 | 定义 API 的通信类型,API 如何连接到后端。 | 从以下选项中选择: HTTP, WebSocket, AWS Lambda。有关更详细的说明,请参阅 API 类型设置。 | 是 |
协议 | 指定 API 的安全协议。 | 在 HTTP 或 HTTPS 之间选择。如果选择 HTTPS,则需要 SSL 证书。 | 是 |
HTTP 方法 | 确定允许的请求方法。 | 从以下选项中选择: GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, TRACE, CONNECT。可以选择多个方法。 | 是 |
网关 | 指定访问 API 的网关。 | 选择一个现有的网关。API 必须附加到一个网关。 | 是 |
网关 URL | API 的公共 URL。 | 根据所选网关自动设置,无法手动编辑,基于网关 URL。有关更多详细信息,请参阅用户指南/APIM 控制台/网关管理。 | 是 |
网关 URL 基础路径 | 定义客户端请求的 API 路径。 | 输入路径(例如,/order)。与网关 URL 结合形成完整的 API URL。 | 否 |
基础路径 | 设置在将请求转发到后端之前将被剥离的路径。 | 输入类似 /service 的值。与剥离路径切换一起使用。 | 是 |
剥离路径 | 在转发到后端之前移除基础路径。 | 切换开启或关闭。如果启用,/service 将在请求到达后端之前被剥离。 | 是 |
API URL | 最终面向客户端的 API URL。 | 通过组合网关 URL 和基础路径自动生成。 | 是 |
后端 URL | 由网关代理的后端服务的地址。 | 输入完整的 URL。HTTP 基于 API 的必填字段。有关更详细的说明,请参阅 API 类型设置。 | 是 |
Swagger 获取路径 | 从后端获取 Swagger JSON 文档。 | 输入 Swagger 路径(例如,/v2/api-docs)。自动附加到后端 URL。 | 是 |
开发者门户发布 | 确定 API 是否应在开发者门户中列出。 | 复选框。如果选中,API 将在开发者门户中可见,并可以在开发者门户中配置为产品。 有关作为产品配置的详细信息,请参阅开发者门户指南。 | 否 |
API 类型设置
当用户选择 API 类型为 HTTP 或 WebSocket 时,必须遵循后端 URL 的特定 URL 格式。
Allowed Backend URL Formats:- http://domain.com/
- http://domain.com
- https://domain.com
- http://sub3.sub2.sub1.domain.com
- http://domain.com/path1
- http://domain.com/path1/path2/path3
- http://domain.com:8081
- http://sub.domain.com:8081/path
如果用户选择 API 类型为 AWS Lambda 函数集成,则必须配置 AWS 凭证以将 API 与 AWS Lambda 连接。
Additional Required Fields for AWS Lambda:- Lambda Name: 输入 AWS Lambda 函数名称。
- AWS Region: 输入部署 Lambda 函数的 AWS 区域。
API 创建示例:
如果 API 设置为:
- API 类型: HTTP(使用 https 协议)
- 网关 URL: https://your.domain.com
- 基础路径: /myservice
- 后端 URL: http://backend.com/backend
- Swagger 获取路径: /v2/api-docs
客户端请求的最终 API URL 将是: https://your.domain.com/myservice
Swagger 文档将从: http://backend.com/backend/v2/api-docs 获取
例如,如果客户端调用 https://your.domain.com/myservice/v1/apis/,它最终将被代理到路径 http://backend.com/backend/v1/apis/。
API 创建后配置
一旦创建了 API,用户将被引导到 API 详细信息屏幕,在那里他们可以管理创建后的配置或删除 API。
Available Configurations:- API Policies Applying: 设置入站和出站 API 策略。
- Canary Config: 配置基于版本的部署。
- API Documentation: 获取、编辑或更新 Swagger 文档。
- API Testing: 在部署之前运行 API 测试。
- API Deployment: 部署 API 以供外部访问。
- Edit API Frontend & Backend: 修改 API URL、基础路径和后端 URL。
- API Deletion: 删除 API。
API 策略应用
用户可以设置策略以控制 API 行为。策略分为:
- Inbound: 在请求到达后端之前进行修改(例如,头部转换、IP 限制)。
- Outbound: 在响应到达客户端之前进行修改(例如,记录、添加头部)。
用户可以在部署之前添加或删除策略并配置设置。
Steps:- 点击策略部分的 Edit 图标 以访问 API 策略详细信息配置屏幕。
- 从 Not Applicable 部分添加策略或删除已应用的策略。
- 通过点击策略名称配置策略设置。有关如何为每个策略进行配置的更多详细信息,请参阅用户指南/APIM 控制台/API 策略。
- 点击 STORING 保存更改。
策略必须单独保存,并且仅在 API 部署后生效。
金丝雀配置
金丝雀配置允许控制 API 版本的发布。用户可以通过金丝雀配置切换启用。
Steps:- 切换金丝雀配置 ON。
- 金丝雀配置设置:
Field Name | Input Instructions |
---|---|
后端:URL | 包含 (ver) 变量的后端 URL。示例:http://backend-url-(ver):8081 |
基线:版本 | 基线的版本。 |
基线:链接 | 当用户在“基线:版本”字段中输入时,自动将版本更新到链接。 |
基线:权重 (%) | 输入数字。“基线:权重 (%)”字段和“金丝雀:权重 (%)”字段的总和为 100。 |
金丝雀:版本 | 金丝雀的版本 |
金丝雀:链接 | 当用户在“金丝雀:版本”字段中输入时,自动将版本更新到链接。 |
金丝雀:权重 (%) | 输入数字。“基线:权重 (%)”字段和“金丝雀:权重 (%)”字段的总和为 100。 |
- 点击 SAVE 应用更改。
用户可以通过 API 管理或 API 详细信息屏幕稍后编辑金丝雀配置。
API 文档 (Swagger)
用户可以获取或手动编辑 Swagger 文档。
Steps:- 设置 Swagger 获取路径(例如,/v3/api-docs)。
- 点击 GET SWAGGER 获取文档。
- 如有需要,在 Swagger Editor 中编辑 Swagger JSON。
- 点击 SAVE SWAGGER 存储更改。
Swagger 文档与 API 一起部署,并可以在侧边栏的 API Document 下访问。
API 测试
用户可以在部署之前测试 API。
Features:- Supported Methods: GET、POST、PUT、DELETE、HEAD、OPTIONS、PATCH。
- Request Parameters: 路径 (/path/(key1))、头部、查询参数、主体。
- Response Analysis: 查看状态、头部和响应主体。
要开始测试,请点击 TEST API REQUESTS。
API 部署
API 必须部署以供外部访问。
Steps:- 点击 API DEPLOYMENT。
- 输入部署版本描述。
- 点击 CONFIRMATION 进行部署。
只有最新部署的版本可以被外部访问。
编辑 API 前端和后端
用户可以编辑 API 设置以进行前端/后端配置。
API 删除
用户可以通过以下方式删除 API:
- 在 API 详细信息屏幕中 Trash icon。
- 在 API 管理屏幕的 Cross icon 下的 Action。
已删除的 API 无法恢复。