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.

Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

sid
path True

string

Идентификатор сущности подписки. Сущность представляет связь между пользователем и продуктом в Управление API.

Regex pattern: ^[^*#&+:<>?]+$

subscriptionId
path True

string

Идентификатор целевой подписки.

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}

properties.primaryKey

string

Первичный ключ подписки. Если не указано во время запроса, ключ будет создан автоматически.

properties.secondaryKey

string

Вторичный ключ подписки. Если не указано во время запроса, ключ будет создан автоматически.

properties.state

SubscriptionState

Начальное состояние подписки. Если значение не указано, создается подписка с состоянием Отправлено. Возможные состояния: * активный — подписка активна, * приостановлена — подписка заблокирована, и подписчик не может вызывать API продукта, * отправлено — запрос подписки был сделан разработчиком, но еще не утвержден или отклонен, * отклонен — запрос подписки отклонен администратором, * отменен — подписка отменена администратором, * отменена — подписка отменена разработчиком или администратором. * истек срок действия подписки — срок действия подписки истек и был отключен.

Ответы

Имя Тип Описание
200 OK

SubscriptionContract

Пользователь уже подписан на продукт.

Headers

ETag: string

201 Created

SubscriptionContract

Пользователь успешно подписан на продукт.

Headers

ETag: string

Other Status Codes

ErrorResponse

Ответ об ошибке, описывающий причину сбоя операции.

Безопасность

azure_auth

Поток OAuth2 в Azure Active Directory.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Имя Описание
user_impersonation олицетворения учетной записи пользователя

Примеры

ApiManagementCreateSubscription

Sample Request

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"
  }
}

Sample Response

{
  "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

Полный идентификатор ресурса. Пример : /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

Идентификатор ресурса пользователя, являющегося владельцем подписки. Значением является допустимый относительный URL-адрес в формате /users/{userId}, где {userId} — это идентификатор пользователя.

properties.primaryKey

string

Первичный ключ подписки. Это свойство не будет заполнено при операциях GET! Используйте запрос POST /listSecrets, чтобы получить значение.

properties.scope

string

Область действия, например /products/{productId} или /apis или /apis/{apiId}.

properties.secondaryKey

string

Вторичный ключ подписки. Это свойство не будет заполнено при операциях GET! Используйте запрос POST /listSecrets, чтобы получить значение.

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}

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