你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Import-AzApiManagementApi

从文件或 URL 导入 API。

语法

Import-AzApiManagementApi
      -Context <PsApiManagementContext>
      [-ApiId <String>]
      [-ApiRevision <String>]
      -SpecificationFormat <PsApiManagementApiFormat>
      -SpecificationPath <String>
      [-Path <String>]
      [-WsdlServiceName <String>]
      [-WsdlEndpointName <String>]
      [-ApiType <PsApiManagementApiType>]
      [-Protocol <PsApiManagementSchema[]>]
      [-ServiceUrl <String>]
      [-ApiVersionSetId <String>]
      [-ApiVersion <String>]
      [-DefaultProfile <IAzureContextContainer>]
      [<CommonParameters>]
Import-AzApiManagementApi
      -Context <PsApiManagementContext>
      [-ApiId <String>]
      [-ApiRevision <String>]
      -SpecificationFormat <PsApiManagementApiFormat>
      -SpecificationUrl <String>
      [-Path <String>]
      [-WsdlServiceName <String>]
      [-WsdlEndpointName <String>]
      [-ApiType <PsApiManagementApiType>]
      [-Protocol <PsApiManagementSchema[]>]
      [-ServiceUrl <String>]
      [-ApiVersionSetId <String>]
      [-ApiVersion <String>]
      [-DefaultProfile <IAzureContextContainer>]
      [<CommonParameters>]

说明

Import-AzApiManagementApi cmdlet 从 Web 应用程序描述语言(WADL)、Web 服务描述语言(WSDL)或 Swagger 格式的文件或 URL 导入 Azure API 管理 API。

示例

示例 1:从 WADL 文件导入 API

$ApiMgmtContext = New-AzApiManagementContext -ResourceGroupName "Api-Default-WestUS" -ServiceName "contoso"
Import-AzApiManagementApi -Context $ApiMgmtContext -SpecificationFormat "Wadl" -SpecificationPath "C:\contoso\specifications\echoapi.wadl" -Path "apis"

此命令从指定的 WADL 文件导入 API。

示例 2:从 Swagger 文件导入 API

$ApiMgmtContext = New-AzApiManagementContext -ResourceGroupName "Api-Default-WestUS" -ServiceName "contoso"
Import-AzApiManagementApi -Context $ApiMgmtContext -SpecificationFormat "Swagger" -SpecificationPath "C:\contoso\specifications\echoapi.swagger" -Path "apis"

此命令从指定的 Swagger 文件导入 API。

示例 3:从 Swagger 文件导入 API 并更新现有 API

$ApiMgmtContext = New-AzApiManagementContext -ResourceGroupName "Api-Default-WestUS" -ServiceName "contoso"
Import-AzApiManagementApi -Context $ApiMgmtContext -ApiId "26591405e27d4ff3a8d8478d7e60c7b0" -SpecificationFormat "Swagger" -SpecificationPath "C:\contoso\specifications\echoapi.swagger" -Path "apis"

此命令从指定的 Swagger 文件导入 API 并更新现有 API。

示例 4:从 WADL 链接导入 API

$ApiMgmtContext = New-AzApiManagementContext -ResourceGroupName "Api-Default-WestUS" -ServiceName "contoso"
Import-AzApiManagementApi -Context $ApiMgmtContext -SpecificationFormat "Wadl" -SpecificationUrl "http://contoso.com/specifications/wadl/echoapi" -Path "apis"

此命令从指定的 WADL 链接导入 API。

示例 5:从打开的 API 链接导入 API

$context = New-AzApiManagementContext -ResourceGroupName "Api-Default-WestUS" -ServiceName "contoso"
Import-AzApiManagementApi -Context $context -SpecificationFormat OpenApi -SpecificationUrl https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml -Path "petstore30"

ApiId                         : af3f57bab399455aa875d7050654e9d1
Name                          : Swagger Petstore
Description                   :
ServiceUrl                    : http://petstore.swagger.io/v1
Path                          : petstore30
ApiType                       : http
Protocols                     : {Https}
AuthorizationServerId         :
AuthorizationScope            :
OpenidProviderId              :
BearerTokenSendingMethod      : {}
SubscriptionKeyHeaderName     : Ocp-Apim-Subscription-Key
SubscriptionKeyQueryParamName : subscription-key
ApiRevision                   : 1
ApiVersion                    :
IsCurrent                     : True
IsOnline                      : False
SubscriptionRequired          :
ApiRevisionDescription        :
ApiVersionSetDescription      :
ApiVersionSetId               :
Id                            : /subscriptions/subid/resourceGroups/Api-Default-West-US/providers/Microsoft.ApiManagement/service/contoso/apis/af3f57bab399455aa875d7050654e9d1     
ResourceGroupName             : Api-Default-West-US
ServiceName                   : contoso

此命令从指定的 Open 3.0 规范链接导入 API。

示例 6:将 API 从打开的 API 链接导入 ApiVersion 集

$context = New-AzApiManagementContext -ResourceGroupName "Api-Default-WestUS" -ServiceName "contoso"
Import-AzApiManagementApi -Context $context -SpecificationPath "C:\contoso\specifications\uspto.yml" -SpecificationFormat OpenApi -Path uspostal -ApiVersionSetId 0d50e2cf-aaeb-4ea3-8a58-db9ec079c6cd -ApiVersion v2

ApiId                         : 6c3f20c66e5745b19229d06cd865948f
Name                          : USPTO Data Set API
Description                   : The Data Set API (DSAPI) allows the public users to discover and search USPTO exported data sets. This is a generic API that allows USPTO users to make any CSV based data files
                                searchable through API. With the help of GET call, it returns the list of data fields that are searchable. With the help of POST call, data can be fetched based on the filters on the    
                                field names. Please note that POST call is used to search the actual data. The reason for the POST call is that it allows users to specify any complex search criteria without worry      
                                about the GET size limitations as well as encoding of the input parameters.
ServiceUrl                    : https://developer.uspto.gov/ds-api
Path                          : uspostal
ApiType                       : http
Protocols                     : {Https}
AuthorizationServerId         :
AuthorizationScope            :
OpenidProviderId              :
BearerTokenSendingMethod      : {}
SubscriptionKeyHeaderName     : Ocp-Apim-Subscription-Key
SubscriptionKeyQueryParamName : subscription-key
ApiRevision                   : 1
ApiVersion                    : v2
IsCurrent                     : True
IsOnline                      : False
SubscriptionRequired          :
ApiRevisionDescription        :
ApiVersionSetDescription      :
ApiVersionSetId               : /subscriptions/subid/resourceGroups/Api-Default-East-US/providers/Microsoft.ApiManagement/service/contoso/apiVersionSets/0d50e2cf-aaeb-4ea3-8a58-db9ec079c6cd
Id                            : /subscriptions/subid/resourceGroups/Api-Default-East-US/providers/Microsoft.ApiManagement/service/contoso/apis/6c3f20c66e5745b19229d06cd865948f    
ResourceGroupName             : Api-Default-East-US
ServiceName                   : contoso

此命令从指定的 Open 3.0 规范文档导入 API 并创建新的 ApiVersion。

示例 7:从 GraphQL 链接导入 API

$ApiMgmtContext = New-AzApiManagementContext -ResourceGroupName "Api-Default-WestUS" -ServiceName "contoso"
Import-AzApiManagementApi -Context $ApiMgmtContext -SpecificationFormat "GraphQL" -SpecificationUrl "http://contoso.com/graphql" -Path "graphqlapi"

ApiId                         : bg4g23csd067432zz853f0942341g3z1
Name                          : GraphQL Api
Description                   :
ServiceUrl                    : http://contoso.com/graphql
Path                          : graphqlapi
ApiType                       : graphql
Protocols                     : {Https}
AuthorizationServerId         :
AuthorizationScope            :
OpenidProviderId              :
BearerTokenSendingMethod      : {}
SubscriptionKeyHeaderName     : Ocp-Apim-Subscription-Key
SubscriptionKeyQueryParamName : subscription-key
ApiRevision                   : 1
ApiVersion                    :
IsCurrent                     : True
IsOnline                      : False
SubscriptionRequired          :
ApiRevisionDescription        :
ApiVersionSetDescription      :
ApiVersionSetId               :
Id                            : /subscriptions/subid/resourceGroups/Api-Default-West-US/providers/Microsoft.ApiManagement/service/contoso/apis/bg4g23csd067432zz853f0942341g3z1     
ResourceGroupName             : Api-Default-West-US
ServiceName                   : contoso

此命令从 GraphQL 链接导入 API。

参数

-ApiId

指定要导入的 API 的 ID。 如果未指定此参数,则会为你生成 ID。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ApiRevision

API 修订的标识符。 此参数是可选的。 如果未指定,则导入操作将在当前活动修订或新 API 上完成。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ApiType

此参数是可选的,默认值为 Http。 仅当导入 WSDL 并创建 SOAP 直通 API 时,Soap 选项才适用。

Type:Nullable<T>[PsApiManagementApiType]
Accepted values:Http, Soap, WebSocket, GraphQL
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ApiVersion

要创建的 Api 的 Api 版本。 此参数是可选的。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ApiVersionSetId

相关 API 版本集的资源标识符。 此参数是可选的。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Context

指定 PsApiManagementContext 对象。

Type:PsApiManagementContext
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

将 Web API 路径指定为 API 公共 URL 的最后一部分。 API 使用者使用此 URL 向 Web 服务发送请求。 长度必须为 1 到 400 个字符。 默认值为$Null。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Protocol

Web API 协议(http,https)。 提供 API 的协议。 此参数是可选的。 如果提供,它将替代规范文档中指定的协议。

Type:PsApiManagementSchema[]
Accepted values:Http, Https, Ws, Wss
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ServiceUrl

公开 API 的 Web 服务的 URL。 此 URL 仅供 Azure API 管理使用,不会公开。 此参数是可选的。 如果提供,它将替代规范文档中指定的 ServiceUrl。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SpecificationFormat

指定规范格式。 psdx_paramvalues Wadl、Wsdl 和 Swagger。

Type:PsApiManagementApiFormat
Accepted values:Wadl, Swagger, Wsdl, OpenApi, OpenApiJson, GraphQL
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SpecificationPath

指定规范文件路径。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SpecificationUrl

指定规范 URL。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WsdlEndpointName

要导入的 WSDL 终结点(端口)的本地名称。 长度必须为 1 到 400 个字符。 此参数是可选的,仅导入 Wsdl 所必需的。 默认值为$null。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WsdlServiceName

要导入的 WSDL 服务的本地名称。 长度必须为 1 到 400 个字符。 此参数是可选的,仅导入 Wsdl 时是必需的。 默认值为$null。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

输入

PsApiManagementContext

String

PsApiManagementApiFormat

Nullable<T>[[Microsoft.Azure.Commands.ApiManagement.ServiceManagement.Models.PsApiManagementApiType, Microsoft.Azure.PowerShell.Cmdlets.ApiManagement.ServiceManagement, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]

输出

PsApiManagementApi