Enviar solicitação para um serviço

APLICA-SE A: Desenvolvedor | Premium

A política set-backend-service define a URL de destino como a solicitação atual para http://localhost:3500/v1.0/invoke/{app-id}[.{ns-name}]/method/{method-name}, substituindo os parâmetros do modelo por valores especificados na instrução da política.

A política pressupõe que o Dapr é executado em um contêiner sidecar, no mesmo pod que o gateway. Após o recebimento da solicitação, o runtime do Dapr executa a descoberta de serviço e a invocação real, incluindo a possível conversão de protocolo entre HTTP e gRPC, novas tentativas, rastreamento distribuído e tratamento de erro. Saiba mais sobre a integração do Dapr ao Gerenciamento de API.

Observação

Defina os elementos da política e os elementos filho na ordem fornecida na declaração da política. Saiba mais sobre como definir e editar as políticas de Gerenciamento de API.

Declaração de política

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

Atributos

Atributo Descrição Obrigatório Padrão
backend-id Deve ser definido como "dapr". Sim N/D
dapr-app-id Nome do microsserviço de destino. Usado para formar o parâmetro appId no Dapr. Expressões de política são permitidas. Sim N/D
dapr-method Nome do método ou uma URL a ser invocada no microsserviço de destino. É mapeado no parâmetro method-name do Dapr. Expressões de política são permitidas. Sim N/D
dapr-namespace Nome do namespace em que o microsserviço de destino reside. Usado para formar o parâmetro appId no Dapr. Expressões de política são permitidas. No N/D

Uso

Observações de uso

O suporte ao Dapr deve ser habilitado no gateway auto-hospedado.

Exemplo

O exemplo a seguir demonstra como invocar o método chamado "back" no microsserviço chamado "echo". A política set-backend-service define a URL de destino como http://localhost:3500/v1.0/invoke/echo.echo-app/method/back. A política forward-request despacha a solicitação para o runtime do Dapr, que a entrega para o microsserviço.

A política forward-request é mostrada aqui para fins de clareza. A política é normalmente "herdada" do escopo global por meio da palavra-chave 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>

Para obter mais informações sobre como trabalhar com políticas, consulte: