Поделиться через


Subscription - Create Or Update

Создает или обновляет подписку указанного пользователя на указанный продукт.

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

Параметры URI

Имя В Обязательно Тип Описание
resourceGroupName
path True

string

minLength: 1
maxLength: 90

Имя группы ресурсов. Имя не учитывает регистр.

serviceName
path True

string

minLength: 1
maxLength: 50
pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

Имя службы управления API.

sid
path True

string

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

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

subscriptionId
path True

string (uuid)

Идентификатор целевой подписки. Значение должно быть UUID.

api-version
query True

string

minLength: 1

Версия API, используемая для этой операции.

appType
query

AppType

Определяет тип приложения, отправляющего запрос пользователя. По умолчанию используется устаревший портал издателя.

notify
query

boolean

Уведомлять об изменении состояния подписки.

  • Если значение false, не отправлять уведомления по электронной почте об изменении состояния подписки
  • Если значение true, отправьте уведомление по электронной почте об изменении состояния подписки

Заголовок запроса

Имя Обязательно Тип Описание
If-Match

string

ETag сущности. Не требуется при создании сущности, но требуется при обновлении сущности.

Текст запроса

Имя Обязательно Тип Описание
properties.displayName True

string

minLength: 1
maxLength: 100

Имя подписки.

properties.scope True

string

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

properties.allowTracing

boolean

Определяет, можно ли включить трассировку

properties.ownerId

string

Пользователь (путь идентификатора пользователя), для которого создается подписка в форме /users/{userId}

properties.primaryKey

string

minLength: 1
maxLength: 256

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

properties.secondaryKey

string

minLength: 1
maxLength: 256

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

properties.state

SubscriptionState

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

Ответы

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

SubscriptionContract

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

Заголовки

ETag: string

201 Created

SubscriptionContract

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

Заголовки

ETag: string

Other Status Codes

ErrorResponse

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

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

azure_auth

Поток OAuth2 Azure Active Directory.

Тип: oauth2
Flow: implicit
URL-адрес авторизации: https://login.microsoftonline.com/common/oauth2/authorize

Области

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

Примеры

ApiManagementCreateSubscription

Образец запроса

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub?api-version=2024-05-01

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

Пример ответа

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

Определения

Имя Описание
AppType

Определяет тип приложения, отправляющего запрос пользователя. По умолчанию используется устаревший портал издателя.

ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

ErrorDetail

Сведения об ошибке.

ErrorResponse

Ответ на ошибку

SubscriptionContract

Сведения о подписке.

SubscriptionCreateParameters

Сведения о создании подписки.

SubscriptionState

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

AppType

Определяет тип приложения, отправляющего запрос пользователя. По умолчанию используется устаревший портал издателя.

Значение Описание
portal

Запрос на создание пользователя был отправлен устаревшим порталом разработчика.

developerPortal

Запрос на создание пользователя был отправлен новым порталом разработчика.

ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

Имя Тип Описание
info

object

Дополнительные сведения.

type

string

Дополнительный тип сведений.

ErrorDetail

Сведения об ошибке.

Имя Тип Описание
additionalInfo

ErrorAdditionalInfo[]

Дополнительные сведения об ошибке.

code

string

Код ошибки.

details

ErrorDetail[]

Сведения об ошибке.

message

string

Сообщение об ошибке.

target

string

Целевой объект ошибки.

ErrorResponse

Ответ на ошибку

Имя Тип Описание
error

ErrorDetail

Объект ошибки.

SubscriptionContract

Сведения о подписке.

Имя Тип Описание
id

string

Полный идентификатор ресурса для ресурса. Пример - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

Имя ресурса

properties.allowTracing

boolean

Определяет, включена ли трассировка

properties.createdDate

string (date-time)

Дата создания подписки. Дата соответствует следующему формату: yyyy-MM-ddTHH:mm:ssZ, как указано в стандарте ISO 8601.

properties.displayName

string

minLength: 0
maxLength: 100

Имя подписки или null, если у подписки нет имени.

properties.endDate

string (date-time)

Дата отмены или истечения срока действия подписки. Параметр предназначен только для аудита, и подписка не будет отменена автоматически. Жизненный цикл подписки можно управлять с помощью свойства state. Дата соответствует следующему формату: yyyy-MM-ddTHH:mm:ssZ, как указано в стандарте ISO 8601.

properties.expirationDate

string (date-time)

Дата окончания срока действия подписки. Параметр предназначен только для целей аудита, и подписка не истекает автоматически. Жизненный цикл подписки можно управлять с помощью свойства state. Дата соответствует следующему формату: yyyy-MM-ddTHH:mm:ssZ, как указано в стандарте ISO 8601.

properties.notificationDate

string (date-time)

Дата уведомления о истечении срока действия подписки. Дата соответствует следующему формату: yyyy-MM-ddTHH:mm:ssZ, как указано в стандарте ISO 8601.

properties.ownerId

string

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

properties.primaryKey

string

minLength: 1
maxLength: 256

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

properties.scope

string

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

properties.secondaryKey

string

minLength: 1
maxLength: 256

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

properties.startDate

string (date-time)

Дата активации подписки. Параметр предназначен только для аудита, и подписка не активируется автоматически. Жизненный цикл подписки можно управлять с помощью свойства 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

minLength: 1
maxLength: 100

Имя подписки.

properties.ownerId

string

Пользователь (путь идентификатора пользователя), для которого создается подписка в форме /users/{userId}

properties.primaryKey

string

minLength: 1
maxLength: 256

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

properties.scope

string

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

properties.secondaryKey

string

minLength: 1
maxLength: 256

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

properties.state

SubscriptionState

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

SubscriptionState

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

Значение Описание
suspended
active
expired
submitted
rejected
cancelled