你当前正在访问 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 管理。 Microsoft 提供本示例中使用的后端 API,并将其托管在 Azure 上 (https://conferenceapi.azurewebsites.net
)。
- 在 Visual Studio Code 中,选择“活动栏”中的 Azure 图标。
- 在“资源管理器”窗格中,展开你创建的 API 管理实例。
- 右键单击 API,然后选择“从 OpenAPI 链接导入” 。
- 出现提示时,输入以下值:
JSON 格式的内容的“OpenAPI 链接”。 对于本示例:
https://conferenceapi.azurewebsites.net?format=json
。此文件指定用于实现示例 API 的后端服务,在本例中为
https://conferenceapi.azurewebsites.net
。 API 管理将请求转发到此 Web 服务。在 API 管理实例中唯一的 API 名称,如 demo-conference-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。 此示例中的策略将更改响应标头并隐藏响应正文中显示的原始后端 URL。
在“资源管理器”窗格中,在你导入的 demo-conference-api 下选择“策略”。 策略文件将在编辑器窗口中打开。 此文件将为 API 中的所有操作配置策略。
使用以下
<outbound>
元素中的内容更新文件:[...] <outbound> <set-header name="Custom" exists-action="override"> <value>"My custom value"</value> </set-header> <set-header name="X-Powered-By" exists-action="delete" /> <redirect-content-urls /> <base /> </outbound> [...]
- 第一个
set-header
策略添加自定义响应标头,用于演示。 - 第二个
set-header
策略删除 X-Powered-By 标头(如果存在)。 此标头可能披露 API 后端使用的应用程序框架,发布者通常会将其删除。 redirect-content-urls
策略重写(屏蔽)响应正文中的链接,使其通过 API 管理网关指向等效的链接。
- 第一个
保存文件。 如果出现提示,请选择“上传”将文件上传到云中。
测试 API
若要测试 API,请获取订阅密钥,然后向 API 管理网关发出请求。
获取订阅密钥
若要测试导入的 API 以及应用的策略,需要 API 管理实例的订阅密钥。
在“资源管理器”窗格中,右键单击 API 管理实例的名称。
选择“复制订阅密钥”。 此密钥用于在创建 API 管理实例时创建的内置“所有访问权限”订阅。
注意
“所有访问权限”订阅允许访问 API 管理实例中的每个 API,并且只能由授权用户使用。 切勿将其用于例程 API 访问,也不要在客户端应用中嵌入“所有访问权限”密钥。
测试 API 操作
- 在“资源管理器”窗格中,展开你导入的 demo-conference-api 下的“操作”节点。
- 选择一个操作,如“GetSpeakers”,然后右键单击该操作并选择“测试操作”。
- 在编辑器窗口中的 Ocp-Apim-Subscription-Key 旁边,将
{{SubscriptionKey}}
替换为你复制的订阅密钥。 - 选择“发送请求”。
如果请求成功,后端以“200 正常”和某些数据做出响应。
请注意响应中的以下详细信息:
- 会将 Custom 标头添加到响应中。
- 响应中不会出现 X-Powered-By 标头。
- API 后端的 URL 将重定向到 API 管理网关,在本例中为
https://apim-hello-world.azure-api.net/demo-conference-api
。
跟踪请求处理
(可选)可以获取详细的请求跟踪信息,以帮助调试和排查 API 问题。
有关为 API 启用跟踪的步骤,请参阅为 API启用跟踪。 为了限制意外披露敏感信息,默认情况下仅允许跟踪 1 小时。
清理资源
当不再需要 API 管理实例和资源组时,请通过单击右键并选择“在门户中打开”来删除 API 管理服务及其资源组,从而删除该实例和资源组。
另外,你还可以选择“删除 API 管理”,以仅删除 API 管理实例(此操作不会删除其资源组)。
相关内容
本教程介绍了适用于 Visual Studio Code 的 API 管理扩展的几个功能。 可使用这些功能导入和管理 API。 你已了解如何执行以下操作:
- 将 API 导入 API 管理
- 编辑 API
- 应用 API 管理策略
- 测试 API