Pokud chcete použít vlastní back-end, na něj použijte zásadu set-backend-service
. Tato zásada transformuje výchozí adresu URL základny back-endové služby příchozího požadavku rozhraní API na zadaný back-end, v tomto případě back-end Service Fabric.
Zásady set-backend-service
můžou být užitečné u existujícího rozhraní API k transformaci příchozího požadavku na jiný back-end, než je ten zadaný v nastavení rozhraní API. Pro demonstrační účely v tomto článku vytvořte testovací rozhraní API a nastavte zásadu tak, aby směrovat požadavky rozhraní API na back-end Service Fabric.
Vytvoření rozhraní API
Pokud chcete vytvořit prázdné rozhraní API, postupujte podle kroků v části Přidání rozhraní API ručně .
V nastavení rozhraní API ponechte adresu URL webové služby prázdnou.
Přidejte příponu adresy URL rozhraní API, například prostředky infrastruktury.
Přidání operace GET do rozhraní API
Jak je znázorněno v tématu Nasazení back-endové služby Service Fabric, ukázková služba ASP.NET Core nasazená v clusteru Service Fabric podporuje jednu operaci HTTP GET v cestě /api/values
URL .
Výchozí odpověď na této cestě je pole JSON se dvěma řetězci:
["value1", "value2"]
Pokud chcete otestovat integraci služby API Management s clusterem, přidejte odpovídající operaci GET do rozhraní API na cestě /api/values
:
Vyberte rozhraní API, které jste vytvořili v předchozím kroku.
Vyberte + Přidat operaci.
V okně front-endu zadejte následující hodnoty a vyberte Uložit.
Nastavení |
Hodnota |
Zobrazované jméno |
Testování back-endu |
Adresa URL |
GET |
Adresa URL |
/api/values |
Přidejte zásadu set-backend-service
do testovacího rozhraní API.
Na kartě Návrh v části Zpracování příchozích dat vyberte ikonu editoru kódu (</>).
Umístění kurzoru uvnitř příchozího >< prvku
Přidejte prohlášení o zásadách set-service-backend
.
Nahraďte backend-id
název back-endu Service Fabric.
Jedná se sf-resolve-condition
o podmínku opětovného překladu umístění služby a opětovného odeslání žádosti. Počet opakování se nastavil při konfiguraci back-endu. Příklad:
<set-backend-service backend-id="mysfbackend" sf-resolve-condition="@(context.LastError?.Reason == "BackendConnectionFailure")"/>
Zvolte Uložit.
Poznámka:
Pokud jeden nebo více uzlů v clusteru Service Fabric přestane fungovat nebo se odebere, služba API Management nezístane automatické oznámení a bude dál posílat provoz do těchto uzlů. Pokud chcete tyto případy zpracovat, nakonfigurujte podmínku řešení podobnou této: sf-resolve-condition="@((int)context.Response.StatusCode != 200 || context.LastError?.Reason == "BackendConnectionFailure" || context.LastError?.Reason == "Timeout")"
Testování back-endového rozhraní API