Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Базовый | Стандартный | Премия
Политика send-service-bus-message отправляет сообщение в очередь или раздел служебной шины Azure. Запрос API может быть переадресован на серверную службу.
Замечание
- Эта политика в настоящее время находится в предварительной версии.
- Фоновые и предварительные требования для отправки сообщений в служебную шину Azure см. в статье "Отправка сообщений в служебную шину Azure" из службы "Управление API Azure".
Замечание
Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Узнайте, как устанавливать или изменять политики службы управления 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
- Разделы политики: входящий, исходящий, исходящий, по ошибке
- Области политики: global, product, API, operation.
- Шлюзы: классические
Заметки об использовании
- Необходимо предварительно создать очередь или раздел служебной шины 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>
Связанные политики
Связанный контент
Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.
- Руководство: Преобразуйте и защитите ваш API
- Полный перечень заявлений о политике и их параметров см. в справочнике политик.
- Выражения политики
- Настройка или изменение политик
- Повторное использование конфигураций политик
- Репозиторий фрагментов политик
- Репозиторий игровой площадки политики
- Набор средств для управления политиками API Azure
- Получите помощь Copilot для создания, объяснения и устранения неполадок в политике