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

Subscription - Create Or Update

创建或更新指定用户对指定产品的订阅。

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}?api-version=2022-08-01
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}?notify={notify}&api-version=2022-08-01&appType={appType}

URI 参数

名称 必需 类型 说明
resourceGroupName
path True

string

资源组的名称。 此名称不区分大小写。

serviceName
path True

string

API 管理服务的名称。

正则表达式模式: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

sid
path True

string

订阅实体标识符。 实体表示用户与API 管理中的产品之间的关联。

正则表达式模式: ^[^*#&+:<>?]+$

subscriptionId
path True

string

目标订阅的 ID。

api-version
query True

string

要用于此操作的 API 版本。

appType
query

AppType

确定发送创建用户请求的应用程序的类型。 默认值为旧版发布者门户。

notify
query

boolean

通知订阅状态中的更改。

  • 如果为 false,则不发送任何更改订阅状态的电子邮件通知
  • 如果为 true,则发送订阅状态更改的电子邮件通知

请求头

名称 必需 类型 说明
If-Match

string

实体的 ETag。 创建实体时不需要,但在更新实体时是必需的。

请求正文

名称 必需 类型 说明
properties.displayName True

string

订阅名称。

properties.scope True

string

范围类似于 /products/{productId} 或 /apis 或 /apis/{apiId}。

properties.allowTracing

boolean

确定是否可以启用跟踪

properties.ownerId

string

以 /users/{userId} 格式为其创建订阅的用户 (用户 ID 路径)

properties.primaryKey

string

主订阅密钥。 如果未在请求期间指定密钥,将自动生成密钥。

properties.secondaryKey

string

辅助订阅密钥。 如果未在请求期间指定密钥,将自动生成密钥。

properties.state

SubscriptionState

初始订阅状态。 如果未指定值,则创建状态为“已提交”的订阅。 可能的状态为 * 活动 - 订阅处于活动状态,* 已暂停 - 订阅被阻止,订阅者无法调用产品的任何 API,* 已提交 - 订阅请求已由开发人员提出,但尚未批准或拒绝,* 已拒绝 - 订阅请求已被管理员拒绝,* 已取消 - 开发人员或管理员已取消订阅, * 已过期 – 订阅已过期并已停用。

响应

名称 类型 说明
200 OK

SubscriptionContract

用户已订阅产品。

标头

ETag: string

201 Created

SubscriptionContract

已成功使用户订阅产品。

标头

ETag: string

Other Status Codes

ErrorResponse

描述操作失败原因的错误响应。

安全性

azure_auth

Azure Active Directory OAuth2 流。

类型: oauth2
流向: implicit
授权 URL: https://login.microsoftonline.com/common/oauth2/authorize

作用域

名称 说明
user_impersonation 模拟用户帐户

示例

ApiManagementCreateSubscription

示例请求

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub?api-version=2022-08-01

{
  "properties": {
    "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7",
    "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
    "displayName": "testsub"
  }
}

示例响应

{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub",
  "type": "Microsoft.ApiManagement/service/subscriptions",
  "name": "testsub",
  "properties": {
    "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7",
    "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
    "displayName": "testsub",
    "state": "submitted",
    "createdDate": "2017-06-02T23:34:03.1055076Z"
  }
}
{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub",
  "type": "Microsoft.ApiManagement/service/subscriptions",
  "name": "testsub",
  "properties": {
    "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7",
    "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
    "displayName": "testsub",
    "state": "submitted",
    "createdDate": "2017-06-02T23:34:03.1055076Z"
  }
}

定义

名称 说明
AppType

确定发送创建用户请求的应用程序的类型。 默认值为旧版发布者门户。

ErrorFieldContract

错误字段协定。

ErrorResponse

错误响应。

SubscriptionContract

订阅详细信息。

SubscriptionCreateParameters

订阅创建详细信息。

SubscriptionState

订阅状态。 可能的状态为 * 活动 - 订阅处于活动状态,* 已暂停 - 订阅被阻止,订阅者无法调用产品的任何 API,* 已提交 - 订阅请求已由开发人员提出,但尚未批准或拒绝,* 已拒绝 - 订阅请求已被管理员拒绝,* 已取消 - 开发人员或管理员已取消订阅, * 已过期 – 订阅已过期并已停用。

AppType

确定发送创建用户请求的应用程序的类型。 默认值为旧版发布者门户。

名称 类型 说明
developerPortal

string

新开发人员门户发送了用户创建请求。

portal

string

用户创建请求由旧版开发人员门户发送。

ErrorFieldContract

错误字段协定。

名称 类型 说明
code

string

属性级错误代码。

message

string

属性级错误的可读表示形式。

target

string

属性名称。

ErrorResponse

错误响应。

名称 类型 说明
error.code

string

服务定义的错误代码。 此代码用作响应中指定的 HTTP 错误代码的子状态。

error.details

ErrorFieldContract[]

在发生验证错误时,请求中发送的无效字段列表。

error.message

string

错误的用户可读表示形式。

SubscriptionContract

订阅详细信息。

名称 类型 说明
id

string

资源的完全限定的资源 ID。 例如 - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

资源的名称

properties.allowTracing

boolean

确定是否启用跟踪

properties.createdDate

string

订阅创建日期。 日期符合以下格式: yyyy-MM-ddTHH:mm:ssZ 由 ISO 8601 标准指定。

properties.displayName

string

订阅的名称;如果订阅没有名称,则为 null。

properties.endDate

string

订阅取消或过期的日期。 该设置仅用于审核目的,订阅不会自动取消。 可以使用 属性管理 state 订阅生命周期。 日期符合以下格式: yyyy-MM-ddTHH:mm:ssZ 由 ISO 8601 标准指定。

properties.expirationDate

string

订阅到期日期。 设置仅用于审核目的,订阅不会自动过期。 可以使用 属性管理 state 订阅生命周期。 日期符合以下格式: yyyy-MM-ddTHH:mm:ssZ 由 ISO 8601 标准指定。

properties.notificationDate

string

即将到期的订阅通知日期。 日期符合以下格式: yyyy-MM-ddTHH:mm:ssZ 由 ISO 8601 标准指定。

properties.ownerId

string

订阅所有者的用户资源标识符。 该值是 /users/{userId} 格式的有效相对 URL,其中 {userId} 是用户标识符。

properties.primaryKey

string

订阅主密钥。 此属性不会在“GET”操作上填充! 使用“/listSecrets”POST 请求获取值。

properties.scope

string

范围类似于 /products/{productId} 或 /apis 或 /apis/{apiId}。

properties.secondaryKey

string

订阅辅助密钥。 此属性不会在“GET”操作上填充! 使用“/listSecrets”POST 请求获取值。

properties.startDate

string

订阅激活日期。 该设置仅用于审核目的,订阅不会自动激活。 可以使用 属性管理 state 订阅生命周期。 日期符合以下格式: yyyy-MM-ddTHH:mm:ssZ 由 ISO 8601 标准指定。

properties.state

SubscriptionState

订阅状态。 可能的状态为 * 活动 - 订阅处于活动状态,* 已暂停 - 订阅被阻止,订阅者无法调用产品的任何 API,* 已提交 - 订阅请求已由开发人员提出,但尚未批准或拒绝,* 已拒绝 - 订阅请求已被管理员拒绝,* 已取消 - 开发人员或管理员已取消订阅, * 已过期 – 订阅已过期并已停用。

properties.stateComment

string

状态更改为“已拒绝”时,管理员添加的可选订阅注释。

type

string

资源类型。 例如“Microsoft.Compute/virtualMachines”或“Microsoft.Storage/storageAccounts”

SubscriptionCreateParameters

订阅创建详细信息。

名称 类型 说明
properties.allowTracing

boolean

确定是否可以启用跟踪

properties.displayName

string

订阅名称。

properties.ownerId

string

以 /users/{userId} 格式为其创建订阅的用户 (用户 ID 路径)

properties.primaryKey

string

主订阅密钥。 如果未在请求期间指定密钥,将自动生成密钥。

properties.scope

string

范围类似于 /products/{productId} 或 /apis 或 /apis/{apiId}。

properties.secondaryKey

string

辅助订阅密钥。 如果未在请求期间指定密钥,将自动生成密钥。

properties.state

SubscriptionState

初始订阅状态。 如果未指定值,则创建状态为“已提交”的订阅。 可能的状态为 * 活动 - 订阅处于活动状态,* 已暂停 - 订阅被阻止,订阅者无法调用产品的任何 API,* 已提交 - 订阅请求已由开发人员提出,但尚未批准或拒绝,* 已拒绝 - 订阅请求已被管理员拒绝,* 已取消 - 开发人员或管理员已取消订阅, * 已过期 – 订阅已过期并已停用。

SubscriptionState

订阅状态。 可能的状态为 * 活动 - 订阅处于活动状态,* 已暂停 - 订阅被阻止,订阅者无法调用产品的任何 API,* 已提交 - 订阅请求已由开发人员提出,但尚未批准或拒绝,* 已拒绝 - 订阅请求已被管理员拒绝,* 已取消 - 开发人员或管理员已取消订阅, * 已过期 – 订阅已过期并已停用。

名称 类型 说明
active

string

cancelled

string

expired

string

rejected

string

submitted

string

suspended

string