共用方式為


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

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

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-ApiRevision

API 修訂的標識碼。 這是選擇性參數。 如果未指定,匯入將會在目前作用中的修訂或新的API上完成。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-ApiType

此參數是選擇性的,其預設值為 Http。 只有在匯入 WSDL 並建立 SOAP 傳遞 API 時,才適用 Soap 選項。

類型:Nullable<T>[PsApiManagementApiType]
接受的值:Http, Soap, WebSocket, GraphQL
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-ApiVersion

要建立的 Api 版本。 這是選擇性參數。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-ApiVersionSetId

相關 Api 版本集的資源識別碼。 這是選擇性參數。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Context

指定 PsApiManagementContext 物件。

類型:PsApiManagementContext
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。

類型:IAzureContextContainer
別名:AzContext, AzureRmContext, AzureCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Path

指定 Web API 路徑做為 API 公用 URL 的最後一個部分。 API 取用者會使用此 URL 將要求傳送至 Web 服務。 長度必須為 1 到 400 個字元。 預設值為 $Null。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Protocol

Web API 通訊協定 (http, https) 。 API 可供使用之通訊協定。 這是選擇性參數。 如果提供,則會覆寫規格檔中指定的通訊協定。

類型:PsApiManagementSchema[]
接受的值:Http, Https, Ws, Wss
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-ServiceUrl

公開 API 之 Web 服務的 URL。 此 URL 只會由 Azure API 管理 使用,而且不會公開。 這是選擇性參數。 如果提供,則會覆寫 Specifications 檔中指定的 ServiceUrl。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-SpecificationFormat

指定規格格式。 psdx_paramvalues Wadl、Wsdl 和 Swagger。

類型:PsApiManagementApiFormat
接受的值:Wadl, Swagger, Wsdl, OpenApi, OpenApiJson, GraphQL
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-SpecificationPath

指定規格檔案路徑。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-SpecificationUrl

指定規格 URL。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-WsdlEndpointName

要匯入的 WSDL 連接點 (連接埠) 本機名稱。 長度必須為 1 到 400 個字元。 此參數是選擇性的,而且只有在匯入 Wsdl 時才需要。 預設值為 $null。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-WsdlServiceName

要匯入之 WSDL 服務的本機名稱。 長度必須為 1 到 400 個字元。 這個參數是選擇性的,而且只有在匯入 Wsdl 時才需要 。 預設值為 $null。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元: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