Pour utiliser un back-end personnalisé, référencez-le avec la stratégie set-backend-service
. Cette stratégie convertit l’URL de base du service back-end par défaut d’une demande d’API entrante en un back-end spécifique, en l’occurrence, le back-end Service Fabric.
La stratégie set-backend-service
peut être utile avec une API existante pour transformer une demande entrante en un back-end autre que celui qui est spécifié dans les paramètres d’API. À des fins de démonstration dans cet article, créez une API de test et définissez la stratégie pour diriger les demandes d’API vers le back-end Service Fabric.
Create API
Suivez les étapes décrites dans Ajouter une API manuellement pour créer une API vide.
Dans les paramètres de l’API, laissez URL du service web vide.
Ajoutez un Suffixe de l’URL de l’API, tel que fabric.
Ajouter une opération GET à l’API
Comme indiqué dans Déploiement d’un service principal de Service Fabric, l’exemple de service ASP.NET Core déployé sur le cluster Service Fabric prend en charge une seule opération HTTP GET sur le chemin d’URL /api/values
.
La réponse par défaut sur ce chemin est un tableau JSON de deux chaînes :
["value1", "value2"]
Pour tester l’intégration de la Gestion des API au cluster, ajoutez l’opération GET correspondante à l’API sur le chemin /api/values
:
Sélectionnez l’API que vous avez créée à l’étape précédente.
Sélectionnez + Ajouter une opération.
Dans la fenêtre Front-end, entrez les valeurs suivantes, puis sélectionnez Enregistrer.
Paramètre |
Valeur |
Nom complet |
Test backend |
URL |
GET |
URL |
/api/values |
Ajoutez la stratégie set-backend-service
à l’API de test.
Sous l’onglet Conception, dans la section Traitement entrant, sélectionnez l’icône Éditeur de code (</>).
Placez le curseur à l’intérieur de l’élément <inbound> .
Ajoutez l’instruction de stratégie set-service-backend
.
Dans backend-id
, substituez le nom de votre back-end Service Fabric.
sf-resolve-condition
est une condition permettant de réévaluer un emplacement de service et de renvoyer une demande. Le nombre de nouvelles tentatives a été défini lors de la configuration du back-end. Par exemple :
<set-backend-service backend-id="mysfbackend" sf-resolve-condition="@(context.LastError?.Reason == "BackendConnectionFailure")"/>
Sélectionnez Enregistrer.
Notes
Si un ou plusieurs nœuds du cluster Service Fabric sont en panne ou sont supprimés, Gestion des API ne reçoit pas de notification automatique et continue à envoyer le trafic vers ces nœuds. Pour gérer ces cas, configurez une condition de résolution similaire à celle-ci : sf-resolve-condition="@((int)context.Response.StatusCode != 200 || context.LastError?.Reason == "BackendConnectionFailure" || context.LastError?.Reason == "Timeout")"
Tester l’API back-end