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". | Sí | 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. | Sí | 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. | Sí | 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
- Secciones de la directiva: inbound (entrada)
- Ámbitos de la directiva: global, producto, API y operación
- Puertas de enlace: autohospedadas
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>
Directivas relacionadas
Contenido relacionado
Para más información sobre el trabajo con directivas, vea:
- Tutorial: Transformación y protección de una API
- Referencia de directivas para una lista completa de instrucciones de directivas y su configuración
- Expresiones de directiva
- Establecimiento o edición de directivas
- Reutilización de configuraciones de directivas
- Repositorio de fragmentos de código de directiva
- Creación de directivas mediante Microsoft Copilot en Azure