Создавать подписку

Важно!

Этот API устарел и устарелс 11.01.2021 и больше не должен использоваться.

Создание новой подписки. После создания манифест ресурса подписки становится неизменяемым. Эта операция не является идемпотентной. Повторение вызова create после успешного создания подписки с тем же именем (в том же разделе и пространстве имен) приводит к появляется сообщение об ошибке 409 Conflict.

Если вы создаете подписку с именем, содержащим специальные или закодированные символы (например, "test? Name=value&", который кодируется в "test%3FName%3Dvalue%26"), создается исключение (401) "Не авторизовано".

Обратите внимание на следующие ограничения на имена подписок:

  1. Может содержать только буквы, цифры, точки (.), дефисы (-) и символы подчеркивания (_).

  2. Несколько сегментов не допускаются.

  3. Косая черта (/) не допускается в качестве префикса или суффикса имени подписки.

  4. Максимальное число символов — 50.

Запрос

Метод Универсальный код ресурса (URI) запроса параметр "Версия HTTP"
PUT https://management.core.windows.net/{subscription ID}/services/ServiceBus/Namespaces/Topics/Subscriptions/{Имя подписки} HTTP/1.1

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

В следующей таблице перечислены обязательные и необязательные заголовки запросов.

Заголовок запроса Описание
Content-Type application/xml;type=entry;charset=utf-8
Пространство имен URL-адрес конечной точки управления
x-ms-version 2012-03-01

Для запроса также требуется сертификат клиента. Этот сертификат должен соответствовать сертификату, отправленному для конкретной подписки.

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

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

Имя свойства Тип Описание
DefaultMessageTimeToLive XML Datetime В зависимости от того, включено ли недоставленное письмо, если сообщение хранится в разделе дольше указанного времени, оно автоматически перемещается в очередь недоставленных сообщений или удаляется. Это значение перезаписывается значением TTL, заданным в сообщении, тогда и только тогда, когда TTL сообщения меньше TTL, заданного в разделе. После создания раздела это значение изменить нельзя.

— Диапазон: 1 секунда – 14 дней.

— По умолчанию: 14 дней.
LockDuration XML Datetime Этот параметр определяет время (в секундах), в течение которого сообщение должно быть заблокировано для обработки получателем. По истечении этого периода сообщение разблокируется и становится доступным для потребления следующим получателем. Задать только во время создания раздела:

— Диапазон: 0–5 мин. 0 означает, что сообщение не заблокировано.

— По умолчанию: 30s.
RequiresSession Логическое Настраивается только при создании раздела. Если задано значение true, раздел учитывает сеанс и поддерживается только SessionReceiver . Разделы, поддерживаемые сеансами, не поддерживаются через REST.

— Значение по умолчанию: False.
EnableDeadLetteringOnMessageExpiration Логическое Этот параметр может быть задан только при создании подписки.

— Значение по умолчанию: False.

Это поле определяет, как служебная шина обрабатывает сообщение с истекшим сроком жизни. Если true истекает срок действия сообщения, служебная шина перемещает сообщение из раздела во вложенную очередь недоставленных сообщений для этого раздела. Если falseзначение равно , сообщение удаляется из раздела без возможности восстановления.
DeadLetteringOnFilterEvaluationExceptions; Определяет, как служебная шина обрабатывает сообщение, которое вызывает исключение во время оценки фильтра подписки. Если trueзадано значение , сообщение, вызвавшее исключение, перемещается в очередь недоставленных сообщений подписки. В противном случае он будет отброшен. По умолчанию для этого параметра задано значение true, что позволяет проанализировать причину исключения. Это может произойти из-за неправильно сформированного сообщения или неверных предположений, сделанных в фильтре о форме сообщения. Настраивается только при создании раздела.

- По умолчанию: true
EnableBatchedOperations Включает и выключает пакетную обработку на стороне службы при выполнении операций для определенной очереди. Если этот параметр включен, служебная шина собирает или пакетирует несколько операций в серверную часть, чтобы повысить эффективность подключения. Если необходимо уменьшить задержку выполнения операции, можно выключить эту функцию.

Значение по умолчанию: false
MaxDeliveryCount Целое число без знака Максимальное количество попыток служебной шины доставить сообщение, прежде чем сообщение будет недоставлено или отменено.

- По умолчанию: 10
MessageCount Целое число без знака Сообщает о количестве сообщений в подписке, еще не выведенных из очереди, как сообщает система мониторинга.

Ответ

Ответ включает код состояния HTTP и набор заголовков ответа.

Коды ответов

Примечание

При создании пространства имен с именем, содержащим специальные или закодированные символы (например, test?Name=value&, которое кодируется в test%3FName%3Dvalue%26), создается исключение (401) Unauthorized.

Код Описание
201 Подписка успешно создана.
400 Недопустимый текст запроса.
401 Ошибка авторизации.
403 Превышена квота; подписка не создана.
409 Указанная подписка уже существует (либо указанный путь уже занят).
500 Внутренняя ошибка.

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

Заголовки откликов

Нет.

Текст ответа

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