Активация выходной привязки
ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Премия
Политика invoke-dapr-binding
указывает шлюзу Управление API активировать исходящую привязку Dapr. Политика выполняет это путем отправки HTTP-запроса POST на http://localhost:3500/v1.0/bindings/{{bind-name}},
замену параметра шаблона и добавление содержимого, указанного в инструкции политики.
Предполагается, что Dapr выполняется в контейнере расширения в том же pod, что и шлюз. Среда выполнения Dapr отвечает за вызов внешнего ресурса, представленного привязкой. Узнайте больше об интеграции Dapr с Управление API.
Примечание.
Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Узнайте, как устанавливать или изменять политики службы управления API.
Правило политики
<invoke-dapr-binding name="bind-name" operation="op-name" ignore-error="false | true" response-variable-name="resp-var-name" timeout="in seconds" template="Liquid" content-type="application/json">
<metadata>
<item key="item-name"><!-- item-value --></item>
</metadata>
<data>
<!-- message content -->
</data>
</invoke-dapr-binding>
Атрибуты
Атрибут | Description | Обязательное поле | По умолчанию. |
---|---|---|---|
name | Имя целевой привязки. Должно совпадать с именем привязок, определенных в Dapr. Допустимы выражения политики. | Да | Н/П |
Операция | Имя целевой операции (для конкретной привязки). Сопоставляется со свойством operation в Dapr. Выражения политики не допускаются. | No | нет |
ignore-error | Если задано значение , чтобы true политика не активировала раздел on-error при получении ошибки из среды выполнения Dapr. Выражения политики не допускаются. |
No | false |
response-variable-name | Имя записи коллекции переменных, используемой для хранения ответа из среды выполнения Dapr. Выражения политики не допускаются. | No | нет |
timeout | Время (в секундах) ожидания ответа от среды выполнения Dapr. Может быть задано в диапазоне от 1 до 240 секунд. Допустимы выражения политики. | No | 5 |
JSON | Обработчик шаблонов, используемый для преобразования содержимого сообщения. Единственное поддерживаемое значение — Liquid. | No | нет |
тип_содержимого | Тип содержимого сообщения. Единственное поддерживаемое значение — application/json. | No | нет |
Элементы
Элемент | Description | Обязательное поле |
---|---|---|
metadata | Метаданные конкретной привязки в виде пар "ключ/значение". Сопоставляется со свойством metadata в Dapr. | No |
. | Содержимое сообщения. Сопоставляется со свойством data в Dapr. Допустимы выражения политики. | No |
Использование
- Разделы политики: входящий трафик, исходящий трафик, при возникновении ошибок
- Области политики: global, product, API, operation.
- Шлюзы: локальное размещение
Примечания об использовании
Поддержка Dapr должна быть включена в локальном шлюзе.
Пример
В следующем примере показана активация исходящей привязки с именем external-systems с именем create, метаданные, состоящие из двух элементов key/value с именем source и client-ip, а текст, поступающий из исходного запроса. Ответ, полученный от среды выполнения Dapr, сохраняется в записи bind-response коллекции Variables в объекте context.
Если среда выполнения Dapr по какой-либо причине возвращает ошибку, то активируется раздел on-error, а ответ, полученный от среды выполнения Dapr, возвращается вызывающему объекту полностью и без изменений. В противном случае возвращается ответ по умолчанию 200 OK
.
Раздел backend пуст, и запрос не перенаправляется к серверной части.
<policies>
<inbound>
<base />
<invoke-dapr-binding
name="external-system"
operation="create"
response-variable-name="bind-response">
<metadata>
<item key="source">api-management</item>
<item key="client-ip">@(context.Request.IpAddress )</item>
</metadata>
<data>
@(context.Request.Body.As<string>() )
</data>
</invoke-dapr-binding>
</inbound>
<backend>
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
<return-response response-variable-name="bind-response" />
</on-error>
</policies>
Связанные политики
Связанный контент
Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.
- Руководство. Преобразование и защита API
- Полный перечень операторов политик и их параметров см. в справочнике по политикам.
- Выражения политики
- Настройка или изменение политик
- Повторное использование конфигураций политик
- Репозиторий фрагментов политик
- Создание политик с помощью Microsoft Copilot в Azure