【Azure API 管理】是否可以将Swagger 的API定义导入导Azure API Management中 - LuBu0505/My-Code GitHub Wiki

问题描述

是否可以将Swagger 的API定义导入导Azure API Management中? 

操作步骤

**是的,**可以通过APIM门户导入单个的API Swagger定义文件。具体步骤如下:

第一步:APIM实例下点击API,然后点击Add API,选择OpenAPI,如下图所示

2021060401.png

第二步:点击Full,然后点击Select a file,在本地选择一个定义好的Swagger API json 文件(如:swaggerTest.json),添加相应信息后创建,就可以生成API。

2021060402.png

PS: 可在 Swagger Editorhttps://editor.swagger.io/ 站点生产Swagger文件及编辑。

第三步:生成的API 如下图所示:

2021060403.png

**那是否可以可以批量导入多个Swagger API定义呢?**目前门户上面是不支持的,但可以通过在Powershell脚本的方式导入,参考例子:https://docs.microsoft.com/en-us/powershell/module/az.apimanagement/import-azapimanagementapi?view=azps-6.0.0#example-2--import-an-api-from-a-swagger-file

$ApiMgmtContext = New-AzApiManagementContext -ResourceGroupName "Api-Default-WestUS" -ServiceName "contoso"
#API 1
Import-AzApiManagementApi -Context $ApiMgmtContext -SpecificationFormat "Swagger" -SpecificationPath "C:\contoso\specifications\echoapi1.swagger" -Path "apis1"
#API 2
Import-AzApiManagementApi -Context $ApiMgmtContext -SpecificationFormat "Swagger" -SpecificationPath "C:\contoso\specifications\echoapi2.swagger" -Path "apis2"
#API 3
Import-AzApiManagementApi -Context $ApiMgmtContext -SpecificationFormat "Swagger" -SpecificationPath "C:\contoso\specifications\echoapi3.swagger" -Path "apis3"

参考文档

教程:导入和发布第一个 API : https://docs.azure.cn/zh-cn/api-management/import-and-publish

Swagger Editorhttps://editor.swagger.io/

**Import-AzApiManagementApi **: https://docs.microsoft.com/en-us/powershell/module/az.apimanagement/import-azapimanagementapi?view=azps-6.0.0#syntax

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

分类: 【Azure API 管理】

标签: APIM导入Swagger文件APIM