Import-AzApiManagementApi

從檔案或 URL 匯入 API。

Syntax

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>]

Description

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 的識別碼。 如果您未指定此參數,就會為您產生識別碼。

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 版本。 這是選擇性參數。

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 管理 使用,且不會公開。 這是選擇性參數。 如果提供,則會覆寫 Specifications 檔中指定的 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