Отправка запроса в службу

ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Премиум

Политика set-backend-service задает целевой URL-адрес для текущего запроса http://localhost:3500/v1.0/invoke/{app-id}[.{ns-name}]/method/{method-name}, заменив параметры шаблона значениями, указанными в инструкции политики.

Предполагается, что Dapr выполняется в контейнере расширения в том же pod, что и шлюз. После получения запроса среда выполнения Dapr выполняет обнаружение и фактический вызов службы, включая возможное преобразование протокола между HTTP и gRPC, повторные попытки, распределенную трассировку и обработку ошибок. Узнайте больше об интеграции Dapr с Управление API.

Примечание.

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

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

<set-backend-service backend-id="dapr" dapr-app-id="app-id" dapr-method="method-name" dapr-namespace="ns-name" />

Атрибуты

Атрибут Description Обязательное поле По умолчанию.
backend-id Должно быть задано значение dapr. Да Н/П
dapr-app-id Имя целевой микрослужбы. Используется для формирования параметра appId в Dapr. Допустимы выражения политики. Да Н/П
dapr-method Имя метода или URL-адрес, который нужно вызвать для целевой микрослужбы. Сопоставляется с параметром method-name в Dapr. Допустимы выражения политики. Да Н/П
dapr-namespace Имя пространства имен, в котором размещена целевая микрослужба. Используется для формирования параметра appId в Dapr. Допустимы выражения политики. No Н/П

Использование

Примечания об использовании

Поддержка Dapr должна быть включена в локальном шлюзе.

Пример

В следующем примере демонстрируется вызов метода с именем back для микрослужбы с именем echo. Политика set-backend-service задает для URL-адреса назначения значение http://localhost:3500/v1.0/invoke/echo.echo-app/method/back. Политика forward-request отправляет запрос в среду выполнения Dapr, которая доставляет его микрослужбе.

Политика forward-request показана здесь для ясности. Она обычно "наследуется" из глобальной области с помощью ключевого слова base.

<policies>
    <inbound>
        <base />
        <set-backend-service backend-id="dapr" dapr-app-id="echo" dapr-method="back" dapr-namespace="echo-app" />
    </inbound>
    <backend>
        <forward-request />
    </backend>
    <outbound>
        <base />
    </outbound>
    <on-error>
        <base />
    </on-error>
</policies>

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