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


Отправка сообщения служебной шины

ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Базовый | Стандартный | Премия

Политика send-service-bus-message отправляет сообщение в очередь или раздел служебной шины Azure. Запрос API может быть переадресован на серверную службу.

Замечание

Замечание

Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Узнайте, как устанавливать или изменять политики службы управления API.

Правило политики

<send-service-bus-message queue-name="service bus queue" topic-name="service bus topic"
      namespace="FQDN of service bus namespace" client-id="ID of user-assigned managed identity">
        <message-properties>
                <message-property name="property-name">property-value</message-property>
                <!-- if there are multiple properties, then add additional message-property elements -->
        </message-properties>
        <payload>"message content"</payload>
</send-service-bus-message>

Attributes

Свойство Description Обязательно По умолчанию
queue-name Указывает имя очереди служебной шины для отправки сообщения. Допустимы выражения политики и именованные значения. queue-name Необходимо указать либоtopic-name. нет N/A
topic-name Указывает имя раздела служебной шины для отправки сообщения. Допустимы выражения политики и именованные значения. queue-name Необходимо указать либоtopic-name. нет N/A
namespace Указывает полное доменное имя пространства имен служебной шины. Допустимы выражения политики и именованные значения. нет N/A
client-id Указывает идентификатор клиента управляемого удостоверения, назначаемого пользователем, для проверки подлинности с помощью служебной шины. Удостоверение должно быть назначено роли отправителя данных служебной шины Azure. Допустимы выражения политики и именованные значения. Если это не указано, используется удостоверение, назначаемое системой. нет N/A

Elements

Элемент Description Обязательно
payload Указывает полезные данные сообщения для отправки в служебную шину. Допустимы выражения политики и именованные значения. Да
message-properties Коллекция вложенных message-property элементов, которые указывают метаданные для передачи полезных данных сообщения. Каждая из них message-property состоит из пары "имя-значение". Допустимы выражения политики и именованные значения. нет

Usage

Заметки об использовании

  • Необходимо предварительно создать очередь или раздел служебной шины Azure, который получает сообщение.
  • Эту политику можно использовать несколько раз для определения политики.

Примеры

Отправка сообщения в очередь служебной шины

В этом примере сообщение, состоящее из текста запроса, отправляется в очередь служебной шины. Экземпляр управления API использует удостоверение, назначаемое пользователем, для доступа. Затем запрос перенаправляется в серверную службу.

<policies>
    <inbound>
        <send-service-bus-message queue-name="orders" client-id="00001111-aaaa-2222-bbbb-3333cccc4444" namespace="my-service-bus.servicebus.windows.net">
           <payload>@(context.Request.Body.As<string>(preserveContent: true))</payload>
        </send-service-bus-message>
    </inbound>
    <backend>
        <forward-request timeout="60"/>
    </backend>
</policies>

Отправка сообщения в раздел служебной шины

В этом примере сообщение, состоящее из текста запроса, отправляется в раздел служебной шины. Экземпляр управления API использует назначаемое системой удостоверение для доступа. Затем запрос перенаправляется в серверную службу.

<policies>
    <inbound>
        <send-service-bus-message topic-name="orders" namespace="my-service-bus.servicebus.windows.net">
           <payload>@(context.Request.Body.As<string>(preserveContent: true))</payload>
        </send-service-bus-message>
    </inbound>
    <backend>
        <forward-request timeout="60"/>
    </backend>
</policies>

Отправка сообщения и метаданных

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

<policies>
    <inbound>
        <send-service-bus-message topic-name="orders" namespace="my-service-bus.servicebus.windows.net">
           <message-properties>
              <message-property name="Customer">Contoso</message-property>
           </message-properties>
           <payload>@(context.Request.Body.As<string>(preserveContent: true))</payload>
        </send-service-bus-message>
    </inbound>
    <backend>
        <forward-request timeout="60"/>
    </backend>
</policies>

Отправка сообщения и возврат немедленно

В этом примере сообщение, состоящее из текста запроса, отправляется в раздел служебной шины. Экземпляр управления API использует назначаемое системой удостоверение для доступа. Затем 201 код состояния ответа возвращается немедленно вызывающей объекту.

<policies>
    <inbound>
        <send-service-bus-message topic-name="orders" namespace="my-service-bus.servicebus.windows.net">
           <payload>@(context.Request.Body.As<string>(preserveContent: true))</payload>
        </send-service-bus-message>
        <return-response>
            <set-status code="201" reason="Created!" />
        </return-response>
    </inbound>
</policies>

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