New-AzApiManagementApi

建立 API。

Syntax

New-AzApiManagementApi
   -Context <PsApiManagementContext>
   [-ApiId <String>]
   -Name <String>
   [-Description <String>]
   -ServiceUrl <String>
   -Path <String>
   -Protocols <PsApiManagementSchema[]>
   [-AuthorizationServerId <String>]
   [-AuthorizationScope <String>]
   [-OpenIdProviderId <String>]
   [-BearerTokenSendingMethod <String[]>]
   [-SubscriptionKeyHeaderName <String>]
   [-SubscriptionKeyQueryParamName <String>]
   [-ProductIds <String[]>]
   [-SubscriptionRequired]
   [-ApiVersionDescription <String>]
   [-ApiVersionSetId <String>]
   [-ApiVersion <String>]
   [-SourceApiId <String>]
   [-SourceApiRevision <String>]
   [-ApiType <PsApiManagementApiType>]
   [-TermsOfServiceUrl <String>]
   [-ContactName <String>]
   [-ContactUrl <String>]
   [-ContactEmail <String>]
   [-LicenseName <String>]
   [-LicenseUrl <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

New-AzApiManagementApi Cmdlet 會建立 Azure API 管理 API。

範例

範例 1:建立 API

$ApiMgmtContext = New-AzApiManagementContext -ResourceGroupName "Api-Default-WestUS" -ServiceName "contoso"
New-AzApiManagementApi -Context $ApiMgmtContext -Name "Echo api" -ServiceUrl "https://contoso.com/apis/echo" -Protocols @("http", "https") -Path "testapi"

此命令會使用指定的 URL 建立名為 EchoApi 的 API。

範例 2:藉由將所有作業、標記、產品和原則從 echo-api 複製到 ApiVersionSet,以建立 API

$context = New-AzApiManagementContext -ResourceId /subscriptions/subid/resourceGroups/Api-Default-West-US/providers/Microsoft.ApiManagement/service/contoso
$versionSet = Get-AzApiManagementApiVersionSet -Context $context -ApiVersionSetId "xmsVersionSet"
New-AzApiManagementApi -Context $context -Name "echoapiv4" -Description "Create Echo Api V4" -SubscriptionRequired -ServiceUrl "https://echoapi.cloudapp.net/v4" -Path "echov3" -Protocols @("http", "https") -ApiVersionSetId $versionSet.ApiVersionSetId -SourceApiId "echo-api" -ApiVersion "v4"

ApiId                         : 691b7d410125414a929c108541c60e06
Name                          : echoapiv4
Description                   : Create Echo Api V4
ServiceUrl                    : https://echoapi.cloudapp.net/v4
Path                          : echov3
ApiType                       : http
Protocols                     : {Http, Https}
AuthorizationServerId         :
AuthorizationScope            :
OpenidProviderId              :
BearerTokenSendingMethod      : {}
SubscriptionKeyHeaderName     : Ocp-Apim-Subscription-Key
SubscriptionKeyQueryParamName : subscription-key
ApiRevision                   : 1
ApiVersion                    : v4
IsCurrent                     : True
IsOnline                      : False
SubscriptionRequired          : True
ApiRevisionDescription        :
ApiVersionSetDescription      :
ApiVersionSetId               : /subscriptions/subid/resourceGroups/Api-Default-West-US/providers/Microsoft.ApiManagement/service/contoso/apiVersionSets/xmsVersionSet
Id                            : /subscriptions/subid/resourceGroups/Api-Default-West-US/providers/Microsoft.ApiManagement/service/contoso/apis/691b7d410125414a929c108541c60e06
ResourceGroupName             : Api-Default-West-US
ServiceName                   : contoso

此命令會在 ApiVersionSet xmsVersionSet 中建立 APIechoapiv3,並從來源 Api echo-api複製所有作業、標記和原則。 它會覆寫 SubscriptionRequired、ServiceUrl、Path、Protocols

範例 3

建立 API。 ( 自動產生 )

New-AzApiManagementApi -ApiId '0001' -Context <PsApiManagementContext> -Name 'Echo api' -Path 'echov3' -Protocols Http -ServiceUrl 'https://contoso.com/apis/echo'

參數

-ApiId

指定要建立的 API 識別碼。 如果您未指定此參數,此 Cmdlet 會為您產生識別碼。

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

-ApiType

要建立的 API 類型(HTTP、soap、websocket、graphql)。 這是選擇性參數。

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

-ApiVersionDescription

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

-AuthorizationScope

指定 OAuth 作業範圍。 預設值為 $Null。

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

-AuthorizationServerId

指定 OAuth 授權伺服器識別碼。 預設值為 $Null。 如果 指定 AuthorizationScope ,您必須指定此參數。

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

-BearerTokenSendingMethod

OpenId 授權伺服器機制,可透過此機制將存取令牌傳遞至 API。 請參閱 https://datatracker.ietf.org/doc/html/rfc6749#section-4。 這是選擇性參數。 預設值為 $null。

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

-ContactEmail

連絡人/組織的電子郵件位址。 必須是電子郵件位址的格式。 這是選擇性參數。

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

-ContactName

聯繫人/組織的識別名稱。 這是選擇性參數。

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

-ContactUrl

指向連絡資訊的 URL。 必須是 URL 的格式。 這是選擇性參數。

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

-Description

指定 Web API 的描述。

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

-LicenseName

用於 API 的授權名稱。 這是選擇性參數。

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

-LicenseUrl

API 服務條款的 URL。 這是選擇性參數。

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

-Name

指定 Web API 的名稱。 這是 API 的公用名稱,因為它出現在開發人員和系統管理入口網站上。

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

-OpenIdProviderId

OpenId 授權伺服器識別碼。 這是選擇性參數。 預設值為 $null。 如果指定 BearerTokenSendingMethods,則必須指定 。

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

-Path

指定 Web API 路徑,這是 API 公用 URL 的最後一個部分,並對應至管理入口網站中的 [Web API URL 後綴] 字段。 API 取用者會使用此 URL 將要求傳送至 Web 服務,且長度必須一到 400 個字元。 預設值為 $Null。

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

-ProductIds

指定要新增 API 的產品識別子陣列。

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

-Protocols

指定 Web API 通訊協定的陣列。 有效值為 HTTP、HTTPs。 這些是 API 可供使用所在的 Web 通訊協定。 預設值為 $Null。

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

-ServiceUrl

指定公開 API 之 Web 服務的 URL。 此 URL 只會由 Azure API 管理 使用,而且不會公開。 URL 長度必須為 2000 個字元。

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

-SourceApiId

來源 API 的 API 識別碼。 這是選擇性參數。

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

-SourceApiRevision

來源 API 的 API 修訂。 這是選擇性參數。

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

-SubscriptionKeyHeaderName

指定訂用帳戶金鑰標頭名稱。 預設值為 $Null。

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

-SubscriptionKeyQueryParamName

指定訂用帳戶金鑰查詢字串參數名稱。 預設值為 $Null。

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

-SubscriptionRequired

針對對 Api 的要求強制執行 SubscriptionRequired 的旗標。 這是選擇性參數。

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

-TermsOfServiceUrl

API 服務條款的 URL。 這是選擇性參數。

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

輸入

PsApiManagementContext

String

PsApiManagementSchema[]

String[]

輸出

PsApiManagementApi