Obsługa interfejsu API w usłudze Azure Static Web Apps za pomocą usługi Azure Container Apps
Azure Container Apps to zarządzana platforma do hostowania kontenerów bezserwerowych i mikrousług.
Po połączeniu aplikacji kontenera ze statyczną aplikacją internetową wszystkie żądania do statycznej aplikacji internetowej z trasą rozpoczynającą się od /api
są kierowane do tej samej trasy w aplikacji kontenera.
Domyślnie gdy aplikacja kontenera jest połączona ze statyczną aplikacją internetową, aplikacja kontenera akceptuje tylko żądania, które są kierowane za pośrednictwem połączonej statycznej aplikacji internetowej. Aplikacja kontenera może być jednocześnie połączona z pojedynczą statyczną aplikacją internetową.
Opcje interfejsu API dla usługi Static Web Apps obejmują następujące usługi platformy Azure:
Aby uzyskać więcej informacji, zobacz omówienie interfejsów API.
Uwaga
Integracja z usługą Azure Container Apps wymaga planu Static Web Apps Standard.
Integracja zaplecza nie jest obsługiwana w środowiskach żądań ściągnięcia usługi Static Web Apps.
Wymagania wstępne
Aby połączyć aplikację kontenera ze statyczną aplikacją internetową, musisz mieć istniejący zasób usługi Container Apps i statyczną aplikację internetową.
Zasób | opis |
---|---|
Azure Container Apps | Jeśli jeszcze go nie masz, wykonaj kroki opisane w przewodniku Wdrażanie pierwszej aplikacji kontenera. |
Istniejąca statyczna aplikacja internetowa | Jeśli jeszcze go nie masz, wykonaj kroki opisane w przewodniku wprowadzającym , aby utworzyć statyczną aplikację internetową No Framework . |
Przykład
Rozważ istniejące wystąpienie aplikacji kontenera platformy Azure, które uwidacznia punkt końcowy za pośrednictwem następującej lokalizacji.
https://my-container-app.red-river-123.eastus2.azurecontainerapps.io/api/getProducts
Po połączeniu możesz uzyskać dostęp do tego samego punktu końcowego za pośrednictwem api
ścieżki ze statycznej aplikacji internetowej, jak pokazano w tym przykładowym adresie URL.
https://red-sea-123.azurestaticapps.net/api/getProducts
Oba adresy URL wskazują ten sam punkt końcowy interfejsu API. Punkt końcowy w aplikacji kontenera musi mieć /api
prefiks, ponieważ usługa Static Web Apps pasuje do żądań wysyłanych do /api
i proxy całej ścieżki do połączonego zasobu.
Łączenie aplikacji kontenera
Aby połączyć aplikację kontenera jako zaplecze interfejsu API dla statycznej aplikacji internetowej, wykonaj następujące kroki:
W witrynie Azure Portal przejdź do statycznej aplikacji internetowej.
Wybierz pozycję Interfejsy API z menu nawigacji.
Znajdź środowisko, z którym chcesz połączyć wystąpienie usługi API Management. Wybierz Łącze.
W polu Typ zasobu zaplecza wybierz pozycję Aplikacja kontenera.
W obszarze Subskrypcja wybierz subskrypcję zawierającą aplikację kontenera, którą chcesz połączyć.
W polu Nazwa zasobu wybierz aplikację kontenera.
Wybierz Łącze.
Po zakończeniu procesu łączenia żądania do tras rozpoczynających się od /api
są kierowane do połączonej aplikacji kontenera.
Zarządzanie dostępem do aplikacji kontenera
Aplikacja kontenera jest skonfigurowana przy użyciu dostawcy tożsamości o nazwie Azure Static Web Apps (Linked)
, który zezwala tylko na ruch, który jest kierowany za pośrednictwem statycznej aplikacji internetowej. Aby aplikacja kontenera była dostępna dla innych aplikacji, zaktualizuj konfigurację uwierzytelniania, aby dodać innego dostawcę tożsamości lub zmienić ustawienia zabezpieczeń, aby zezwolić na nieuwierzytelniony dostęp.
Odłączanie aplikacji kontenera
Aby odłączyć aplikację kontenera ze statycznej aplikacji internetowej, wykonaj następujące kroki:
W witrynie Azure Portal przejdź do statycznej aplikacji internetowej.
Wybierz pozycję Interfejsy API z menu nawigacji.
Znajdź środowisko, które chcesz odłączyć, i wybierz nazwę aplikacji kontenera.
Wybierz pozycję Odłącz.
Po zakończeniu procesu odłączania żądania do tras rozpoczynających się od /api
nie są już kierowane do aplikacji kontenera.
Uwaga
Aby zapobiec przypadkowemu ujawnieniu aplikacji kontenera do ruchu anonimowego, dostawca tożsamości utworzony przez proces łączenia nie zostanie automatycznie usunięty. Możesz usunąć dostawcę tożsamości o nazwie Azure Static Web Apps (połączone) z ustawień uwierzytelniania aplikacji kontenera.
Usuwanie uwierzytelniania z zasobu usługi Container Apps
Aby umożliwić zasobowi usługi Container Apps odbieranie ruchu anonimowego, wykonaj następujące kroki, aby usunąć dostawcę tożsamości:
W witrynie Azure Portal przejdź do zasobu Container Apps.
Wybierz pozycję Uwierzytelnianie z menu nawigacji.
Z listy dostawców tożsamości usuń dostawcę tożsamości powiązanego z zasobem Static Web Apps.
Wybierz pozycję Usuń uwierzytelnianie, aby usunąć uwierzytelnianie i zezwolić na ruch anonimowy do zasobu usługi Container Apps.
Zasób usługi Container Apps może teraz odbierać ruch anonimowy.