你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:使用 Visual Studio Code 的 Azure API 管理扩展来导入和管理 API
适用于:消耗 | 开发人员 | 基本 | 标准 | 高级
本教程将介绍如何使用 Visual Studio Code 的 API 管理扩展来实现 API 管理中的常见操作。 使用熟悉的 Visual Studio Code 环境导入、更新、测试和管理 API。
你将学习如何执行以下操作:
- 将 API 导入 API 管理
- 编辑 API
- 应用 API 管理策略
- 测试 API
有关 API 管理功能的详细介绍,请使用 Azure 门户参阅“API 管理”教程。
先决条件
- 理解 Azure API 管理的术语。
- 确保已安装 Visual Studio Code 以及 Visual Studio Code 的 Azure API 管理扩展最新版。
- 创建 API 管理实例。
导入 API
以下示例将 JSON 格式的 OpenAPI 规范导入 API 管理。 在此示例中,请导入开源的 Petstore API。
- 在 Visual Studio Code 中,选择“活动栏”中的 Azure 图标。
- 在“资源管理器”窗格中,展开你创建的 API 管理实例。
- 右键单击 API,然后选择“从 OpenAPI 链接导入” 。
- 出现提示时,输入以下值:
JSON 格式的内容的“OpenAPI 链接”。 对于本示例:
https://petstore.swagger.io/v2/swagger.json
。此文件指定了实现示例 API 及其支持的操作的后端服务。
API 名称(如宠物店)在 API 管理实例中是唯一的。 此名称只能包含字母、数字和连字符。 第一个字符和最后一个字符必须必须为字母数字字符。 将在调用 API 的路径中使用此名称。
成功导入 API 后,它将显示在“资源管理器”窗格中,可用的 API 操作显示在“操作”节点下。
编辑 API
可在 Visual Studio Code 中编辑 API。 例如,在编辑器窗口中编辑 API 的“资源管理器 JSON”说明,以移除用于访问 API 的 http 协议,如以下截图中所突出显示:
若要编辑 OpenAPI 格式,请在“资源管理器”窗格中右键单击 API 名称,然后选择“编辑 OpenAPI”。 进行所需的更改,然后选择“文件”>“保存” 。
将策略应用到 API
API 管理提供可为 API 配置的策略。 策略是语句的集合。 这些语句在 API 的请求或响应中按顺序运行。 策略可以是全局的(适用于 API 管理实例中的所有 API),也可以将策略范围限定为某个特定产品、API 或 API 操作。
本部分介绍如何将常见的入站和出站策略应用到 API。
在“资源管理器”窗格中,在你导入的宠物店 API 下选择“策略”。 策略文件将在编辑器窗口中打开。 此文件将为 API 中的所有操作配置策略。
使用以下内容更新文件:
<policies> <inbound> <rate-limit calls="3" renewal-period="15" /> <base /> </inbound> <outbound> <set-header name="Custom" exists-action="override"> <value>"My custom value"</value> </set-header> <base /> </outbound> <on-error> <base /> </on-error> </policies>
inbound
部分中的rate-limit
策略会将对 API 的调用数限制为每 15 秒 3 次。outbound
部分中的set-header
策略会添加用于演示的自定义响应头。
保存文件。 如果出现提示,请选择“上传”将文件上传到云中。
测试 API
若要测试 API,请获取订阅密钥,然后向 API 管理网关发出请求。
获取订阅密钥
若要测试导入的 API 以及应用的策略,需要 API 管理实例的订阅密钥。
在“资源管理器”窗格中,右键单击 API 管理实例的名称。
选择“复制订阅密钥”。 此密钥用于在创建 API 管理实例时创建的内置“所有访问权限”订阅。
注意
“所有访问权限”订阅允许访问 API 管理实例中的每个 API,并且只能由授权用户使用。 切勿将其用于例程 API 访问,也不要在客户端应用中嵌入“所有访问权限”密钥。
测试 API 操作
- 在“资源管理器”窗格中,展开你导入的宠物店 API 下的“操作”节点。
- 选择一个操作,如“[GET] 按 ID 查找宠物”,然后右键单击该操作并选择“测试操作”。
- 在编辑器窗口中,将请求 URL 中的
petId
参数替换为5
。 - 在编辑器窗口中的 Ocp-Apim-Subscription-Key 旁边,将
{{SubscriptionKey}}
替换为你复制的订阅密钥。 - 选择“发送请求”。
如果请求成功,后端以“200 正常”和某些数据做出响应。
请注意响应中的以下详细信息:
Custom
标头会添加到响应中。
现在,请测试速率限制策略。 在一行中多次选择“发送请求”。 在配置的时间段内发送过多请求后,会收到 429 Too Many Requests
响应。
跟踪请求处理
(可选)可以获取详细的请求跟踪信息,以帮助调试和排查 API 问题。
有关为 API 启用跟踪的步骤,请参阅为 API启用跟踪。 为了限制意外披露敏感信息,默认情况下仅允许跟踪 1 小时。
清理资源
当不再需要 API 管理实例和资源组时,请通过单击右键并选择“在门户中打开”来删除 API 管理服务及其资源组,从而删除该实例和资源组。
另外,你还可以选择“删除 API 管理”,以仅删除 API 管理实例(此操作不会删除其资源组)。
相关内容
本教程介绍了适用于 Visual Studio Code 的 API 管理扩展的几个功能。 可使用这些功能导入和管理 API。 你已了解如何执行以下操作:
- 将 API 导入 API 管理
- 编辑 API
- 应用 API 管理策略
- 测试 API