练习 - 创建 API 网关
在本练习中,你将部署一个示例 Web API,并配置 API 网关。 在后面的单元中,将 Web API 发布到网关。
在鞋业公司示例中,NorthWind Shoes 决定与合作伙伴共享库存 API。 通过此 API,合作伙伴能够访问库存和产品信息。
重要
需要自己的 Azure 订阅才能运行此练习,这可能会产生费用。 如果还没有 Azure 订阅,请在开始前创建一个免费帐户。
部署 ShoeCompany Web API
你开发了一个生成库存和产品信息的 .NET Core 应用。 该应用包括用于生成 OpenAPI Swagger 文档的 Swashbuckle。
为了节约时间,先运行在 Azure 中托管 RESTful API 的脚本。 此脚本执行以下步骤:
- 在免费层创建 Azure 应用服务计划。
- 在 Azure 应用服务中创建 Web API,从本地存储库针对 Git 部署进行配置。
- 为应用设置帐户级别部署凭据。
- 在本地配置 Git。
- 将 Web API 部署到应用服务实例。
登录 Azure 门户。
在 Azure 任务栏中,选择 Cloud Shell 图标以打开 Azure Cloud Shell。
在 Cloud Shell 中运行以下
git
命令,克隆 GitHub 存储库,并下载应用的源代码。git clone https://github.com/MicrosoftDocs/mslearn-publish-manage-apis-with-azure-api-management.git
完成操作后,请运行以下命令打开本地存储库文件夹并列出其内容。
cd mslearn-publish-manage-apis-with-azure-api-management ls -l
其中一个文件是 setup.sh。顾名思义,它是我们运行以设置测试 API 的脚本。
输入以下命令来运行此脚本。 它生成公开 OpenAPI 接口的公共 Web 应用。
bash setup.sh
运行脚本大约需要一分钟时间。 在部署期间,在远程应用服务上自动安装运行应用所需的全部依赖项。 输出会列出所有操作。 脚本完成后,最后两行是用于测试应用部署的 URL。
若要测试是否已正确部署应用,请从 Cloud Shell 复制第一个 URL (Swagger URL),然后将其粘贴到新的浏览器标签页中。
浏览器应会显示应用的 Swagger UI,并声明以下 RESTful 终结点:
- api/inventory 生成一个包含库存产品和库存数量的列表。
- api/inventory/{productid} 返回指定产品 ID 的库存数量(整数)。
- api/Products 生成产品列表。
- api/Products/{productid} 返回指定产品 ID 的详细信息。
最后,从 Cloud Shell 输出中复制第二个 URL (Swagger JSON URL),并将其保存到某个位置(例如记事本)。 下一练习需要用到此 URL。
部署 API 网关
本练习的最后一个任务是在 Azure 门户中创建 API 网关。 在下一个练习中,使用此网关来发布 API。
登录 Azure 门户。
在“Azure 服务”中或从主页选择“创建资源”。 此时会显示“创建资源”窗格。
在资源菜单中,选择“集成”,然后在结果中选择“API 管理”。 此时会显示“创建 API 管理服务”窗格。
在“基本信息”选项卡中,为每个设置输入以下值。
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择新的或现有的资源组。 资源组是用于保存 Azure 解决方案相关资源的逻辑容器。 实例详细信息 区域 选择可用区域。 资源名称 apim-NorthWindShoes<random number>
,将random number
替换为你自己的一串数字,以确保名称是全局唯一的。组织名称 NorthWindShoes
。 要在开发人员门户和电子邮件通知中使用的组织名称。 (开发人员门户和通知并非在所有服务层中都可用。)管理员电子邮件 用于接收所有系统通知的电子邮件地址。 定价层 Consumption
注意
消耗层提供用于测试的快速部署,并具有即用即付的定价模型。 整体 API 管理体验与其他定价层类似。
选择“查看 + 创建”以验证自己的设置 。
通过验证后,选择“创建”。 部署可能需要几分钟时间才能完成。
部署完成后,API 管理实例在 Azure 资源中列出。 选择“转到资源”以查看 API 管理服务的窗格。