Aby użyć niestandardowego zaplecza, odwołaj się do niego przy użyciu set-backend-service
zasad. Te zasady przekształcają domyślny podstawowy adres URL usługi zaplecza przychodzącego żądania interfejsu API do określonego zaplecza, w tym przypadku zaplecza usługi Service Fabric.
Zasady set-backend-service
mogą być przydatne w przypadku istniejącego interfejsu API, aby przekształcić przychodzące żądanie do innego zaplecza niż zasada określona w ustawieniach interfejsu API. W celach demonstracyjnych w tym artykule utwórz testowy interfejs API i ustaw zasady tak, aby kierowały żądania interfejsu API do zaplecza usługi Service Fabric.
Tworzenie interfejsu API
Wykonaj kroki opisane w temacie Ręczne dodawanie interfejsu API, aby utworzyć pusty interfejs API.
W ustawieniach interfejsu API pozostaw pusty adres URL usługi sieci Web.
Dodaj sufiks adresu URL interfejsu API, taki jak sieć szkieletowa.
Dodawanie operacji GET do interfejsu API
Jak pokazano w artykule Wdrażanie usługi zaplecza usługi Service Fabric, przykładowa usługa ASP.NET Core wdrożona w klastrze usługi Service Fabric obsługuje pojedynczą operację HTTP GET na ścieżce /api/values
adresu URL.
Domyślną odpowiedzią na tej ścieżce jest tablica JSON dwóch ciągów:
["value1", "value2"]
Aby przetestować integrację usługi API Management z klastrem, dodaj odpowiednią operację GET do interfejsu API w ścieżce /api/values
:
Wybierz interfejs API utworzony w poprzednim kroku.
Wybierz opcję + Dodaj operację.
W oknie Frontonu wprowadź następujące wartości, a następnie wybierz pozycję Zapisz.
Ustawienie |
Wartość |
Nazwa wyświetlana |
Testowanie zaplecza |
Adres URL |
GET |
Adres URL |
/api/values |
set-backend-service
Dodaj zasady do testowego interfejsu API.
Na karcie Projektowanie w sekcji Przetwarzanie przychodzące wybierz ikonę edytora kodu (</>).
Położenie kursora wewnątrz elementu przychodzącego <>
Dodaj instrukcję set-service-backend
zasad.
W backend-id
pliku zastąp nazwę zaplecza usługi Service Fabric.
Jest sf-resolve-condition
to warunek ponownego rozpoznawania lokalizacji usługi i ponownego wysyłanie żądania. Liczba ponownych prób została ustawiona podczas konfigurowania zaplecza. Na przykład:
<set-backend-service backend-id="mysfbackend" sf-resolve-condition="@(context.LastError?.Reason == "BackendConnectionFailure")"/>
Wybierz pozycję Zapisz.
Uwaga
Jeśli co najmniej jeden węzeł w klastrze usługi Service Fabric ulegnie awarii lub zostanie usunięty, usługa API Management nie otrzyma automatycznego powiadomienia i nadal wysyła ruch do tych węzłów. Aby obsłużyć te przypadki, skonfiguruj warunek rozwiązywania podobny do następującego: sf-resolve-condition="@((int)context.Response.StatusCode != 200 || context.LastError?.Reason == "BackendConnectionFailure" || context.LastError?.Reason == "Timeout")"
Testowanie interfejsu API zaplecza