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

New-AzApiManagementApi

创建 API。

语法

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

说明

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 的 ID。 如果未指定此参数,则此 cmdlet 会为你生成 ID。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ApiType

要创建的 API 类型(http、soap、websocket、graphql)。 此参数是可选的。

类型:Nullable<T>[PsApiManagementApiType]
接受的值:Http, Soap, WebSocket, GraphQL
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ApiVersion

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ApiVersionDescription

Api 版本说明。 此参数是可选的。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ApiVersionSetId

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-AuthorizationScope

指定 OAuth 操作范围。 默认值为$Null。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-AuthorizationServerId

指定 OAuth 授权服务器 ID。 默认值为$Null。 如果 指定 AuthorizationScope ,则必须指定此参数。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-BearerTokenSendingMethod

OpenId 授权服务器机制,通过该机制将访问令牌传递给 API。 请参阅 https://datatracker.ietf.org/doc/html/rfc6749#section-4 。 此参数是可选的。 默认值为$null。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ContactEmail

联系人/组织的电子邮件地址。 必须采用电子邮件地址的格式。 此参数是可选的。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ContactName

联系人/组织的标识名称。 此参数是可选的。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ContactUrl

指向联系信息的 URL。 必须采用 URL 格式。 此参数是可选的。

类型: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

-Description

指定 Web API 的说明。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-LicenseName

用于 API 的许可证名称。 此参数是可选的。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-LicenseUrl

API 服务条款的 URL。 此参数是可选的。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Name

指定 Web API 的名称。 这是 API 的公共名称,显示在开发人员和管理门户中。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-OpenIdProviderId

OpenId 授权服务器标识符。 此参数是可选的。 默认值为$null。 如果指定 BearerTokenSendingMethods,则必须指定。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Path

指定 Web API 路径,这是 API 公共 URL 的最后一部分,对应于管理门户中的 Web API URL 后缀字段。 API 使用者使用此 URL 向 Web 服务发送请求,并且长度必须为 400 个字符。 默认值为$Null。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ProductIds

指定要向其添加新 API 的产品 ID 数组。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Protocols

指定 Web API 协议数组。 有效值为 http、https。 这些是 API 可用时使用的 Web 协议。 默认值为$Null。

类型:PsApiManagementSchema[]
接受的值:Http, Https, Ws, Wss
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ServiceUrl

指定公开 API 的 Web 服务的 URL。 此 URL 仅供 Azure API 管理使用,不公开。 URL 长度必须为 2000 个字符。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-SourceApiId

源 API 的 API 标识符。 此参数是可选的。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-SourceApiRevision

源 API 的 API 修订。 此参数是可选的。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-SubscriptionKeyHeaderName

指定订阅密钥标头名称。 默认值为$Null。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-SubscriptionKeyQueryParamName

指定订阅密钥查询字符串参数名称。 默认值为$Null。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-SubscriptionRequired

用于对 Api 的请求强制实施 SubscriptionRequired 的标志。 此参数是可选的。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-TermsOfServiceUrl

API 服务条款的 URL。 此参数是可选的。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

输入

PsApiManagementContext

String

PsApiManagementSchema[]

String[]

输出

PsApiManagementApi