Envío de una solicitud a un servicio

SE APLICA A: Desarrollador | Premium

La directiva set-backend-service establece la dirección URL de destino de la solicitud actual en http://localhost:3500/v1.0/invoke/{app-id}[.{ns-name}]/method/{method-name} y reemplaza los parámetros de la plantilla con los valores especificados en la instrucción de la directiva.

La directiva presupone que Dapr se ejecuta en un contenedor sidecar situado en el mismo pod que la puerta de enlace. Tras recibir la solicitud, el entorno de ejecución de Dapr detecta los servicios y realiza la verdadera invocación, lo que incluye una posible traducción entre los protocolos HTTP y gRPC, reintentos, seguimiento distribuido y control de errores. Obtenga más información sobre la integración de Dapr con API Management.

Nota:

Establezca los elementos de la directiva y los elementos secundarios en el orden proporcionado en la instrucción de directiva. Obtenga más información sobre el establecimiento o modificación de directivas de API Management.

Instrucción de la directiva

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

Atributos

Atributo Descripción Necesario Valor predeterminado
backend-id Debe establecerse en "dapr". N/D
dapr-app-id Nombre del microservicio de destino. Se usa para formar el parámetro appId de Dapr. Se permiten expresiones de directiva. N/D
dapr-method Nombre del método o dirección URL que se va a invocar en el microservicio de destino. Se asigna al parámetro method-name de Dapr. Se permiten expresiones de directiva. N/D
dapr-namespace Nombre del espacio de nombres en el que reside el microservicio de destino. Se usa para formar el parámetro appId de Dapr. Se permiten expresiones de directiva. No N/D

Uso

Notas de uso

La compatibilidad con Dapr debe estar habilitada en la puerta de enlace autohospedada.

Ejemplo

En el ejemplo siguiente, se muestra cómo se invoca el método "back" en un microservicio llamado "echo". La directiva de set-backend-service establece la dirección URL de destino en http://localhost:3500/v1.0/invoke/echo.echo-app/method/back. La directiva de forward-request envía la solicitud al entorno de ejecución de Dapr, que la entrega al microservicio.

Para facilitar la compresión, se incluye la directiva de forward-request. Normalmente, esta directiva se "hereda" del ámbito global mediante la palabra clave 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 más información sobre el trabajo con directivas, vea: