Per usare un back-end personalizzato, farvi riferimento usando il criterio set-backend-service
. Questo criterio trasforma l'URL di base del servizio back-end predefinito di una richiesta API in ingresso in un back-end specificato, in questo caso il back-end di Service Fabric.
Il criterio set-backend-service
può essere utile con un'API esistente per trasformare una richiesta in ingresso in un back-end diverso da quello specificato nelle impostazioni dell'API. A scopo dimostrativo in questo articolo, creare un'API di test e impostare il criterio per indirizzare le richieste API al back-end di Service Fabric.
Create API
Seguire la procedura descritta in Aggiungere manualmente un'API per creare un'API vuota.
Nelle impostazioni dell'API lasciare vuoto il campo URL del servizio Web.
Aggiungere un suffisso dell'URL dell'API, ad esempio fabric.
Aggiungere un'operazione GET all'API
Come illustrato in Distribuire un servizio back-end di Service Fabric, il servizio ASP.NET Core di esempio distribuito nel cluster di Service Fabric supporta una singola operazione HTTP GET nel percorso dell'URL /api/values
.
La risposta predefinita per tale percorso è una matrice JSON composta da due stringhe:
["value1", "value2"]
Per testare l'integrazione di Gestione API con il cluster, aggiungere l'operazione GET corrispondente all'API nel percorso /api/values
:
Selezionare l'API creata nel passaggio precedente.
Selezionare + Aggiungi operazione.
Nella finestra Front-end immettere i valori seguenti e selezionare Salva.
Impostazione |
Valore |
Nome visualizzato |
Test backend |
URL |
GET |
URL |
/api/values |
Aggiungere il criterio set-backend-service
all'API di test.
Nella scheda Progettazione della sezione Elaborazione in ingresso selezionare l'icona dell'editor di codice (</>).
Posizionare il cursore all'interno dell'elemento <inbound>.
Aggiungere l'istruzione del criterio set-service-backend
.
In backend-id
sostituire il valore con il nome del back-end di Service Fabric in uso.
sf-resolve-condition
è una condizione per i nuovi tentativi di risoluzione della posizione di un servizio e il nuovo invio di una richiesta. Il numero di tentativi è stato impostato durante la configurazione del back-end. Ad esempio:
<set-backend-service backend-id="mysfbackend" sf-resolve-condition="@(context.LastError?.Reason == "BackendConnectionFailure")"/>
Seleziona Salva.
Nota
Se uno o più nodi nel cluster di Service Fabric vengono disattivati o rimossi, Gestione API non riceve una notifica automatica e continua a inviare traffico a questi nodi. Per gestire questi casi, configurare una condizione di risoluzione simile a: sf-resolve-condition="@((int)context.Response.StatusCode != 200 || context.LastError?.Reason == "BackendConnectionFailure" || context.LastError?.Reason == "Timeout")"
Testare l'API per il back-end