Para usar un back-end personalizado, haga referencia a él mediante la directiva set-backend-service
. Esta directiva transforma la dirección URL base del servicio back-end predeterminado de una solicitud de API entrante en un back-end específico, en este caso el back-end de Service Fabric.
La directiva set-backend-service
puede ser útil con una API existente para transformar una solicitud entrante en otro back-end distinto del especificado en la configuración de la API. Para los fines de demostración de este artículo, cree una API de prueba y establezca la directiva para dirigir las solicitudes de API al back-end de Service Fabric.
Create API
Siga los pasos descritos en Adición manual de una API para crear una API en blanco.
En la configuración de la API, deje Dirección URL del servicio web en blanco.
Agregue un sufijo de dirección URL de API, como fabric.
Adición de una operación GET a la API
Como se muestra en Implementación de un servicio de back-end de Service Fabric, el servicio ASP.NET Core de ejemplo implementado en el clúster de Service Fabric admite una única operación GET de HTTP en la ruta de acceso de la dirección URL /api/values
.
La respuesta predeterminada en esa ruta de acceso es una matriz JSON de dos cadenas:
["value1", "value2"]
Para probar la integración de API Management con el clúster, agregue la operación GET correspondiente a la API en la ruta de acceso /api/values
:
Seleccione la API que creó en los pasos anteriores.
Seleccione + Agregar operación.
En la ventana Front-end, escriba los siguientes valores y seleccione Guardar.
Valor |
Value |
Nombre para mostrar |
Probar back-end |
URL |
GET |
URL |
/api/values |
Agregue la directiva set-backend-service
a la API de prueba.
En la pestaña Diseño, en la sección Procesamiento de entrada, seleccione el icono del editor de código (</>).
Coloque el cursor dentro del elemento <inbound> .
Agregue la declaración de directiva set-service-backend
.
En backend-id
, sustituya el nombre del back-end de Service Fabric.
sf-resolve-condition
es una condición para volver a resolver una ubicación de servicio y volver a enviar una solicitud. El número de reintentos se estableció al configurar el back-end. Por ejemplo:
<set-backend-service backend-id="mysfbackend" sf-resolve-condition="@(context.LastError?.Reason == "BackendConnectionFailure")"/>
Seleccione Guardar.
Nota
Si uno o varios nodos del clúster de Service Fabric se desactivan o se quitan, API Management no recibe una notificación automática y continúa con el envío de tráfico a estos nodos. Para controlar estos casos, configure una condición de resolución similar a la siguiente: sf-resolve-condition="@((int)context.Response.StatusCode != 200 || context.LastError?.Reason == "BackendConnectionFailure" || context.LastError?.Reason == "Timeout")"
Prueba de la API de back-end