API-ondersteuning in Azure Static Web Apps met Azure Container Apps
Azure Container Apps is een beheerd platform voor het hosten van serverloze containers en microservices.
Wanneer u uw container-app koppelt aan uw statische web-app, worden alle aanvragen naar uw statische web-app met een route die begint /api
, geproxieerd naar dezelfde route in de container-app.
Wanneer een container-app is gekoppeld aan een statische web-app, accepteert de container-app standaard alleen aanvragen die via de gekoppelde statische web-app worden geproxied. Een container-app kan tegelijk worden gekoppeld aan één statische web-app.
API-opties voor Static Web Apps omvatten de volgende Azure-services:
Zie het overzicht van API's voor meer informatie.
Notitie
Voor de integratie met Azure Container Apps is het Static Web Apps Standard-plan vereist.
Back-endintegratie wordt niet ondersteund in statische Web Apps-pull-aanvraagomgevingen.
Vereisten
Als u een container-app wilt koppelen aan uw statische web-app, moet u een bestaande Container Apps-resource en een statische web-app hebben.
Bron | Omschrijving |
---|---|
Azure Container Apps | Als u er nog geen hebt, volgt u de stappen in de handleiding Uw eerste container-app implementeren. |
Bestaande statische web-app | Als u er nog geen hebt, volgt u de stappen in de aan de slag-handleiding om een statische Web-app van No Framework te maken. |
voorbeeld
Overweeg een bestaand Azure Container App-exemplaar dat een eindpunt beschikbaar maakt via de volgende locatie.
https://my-container-app.red-river-123.eastus2.azurecontainerapps.io/api/getProducts
Zodra de koppeling is gemaakt, hebt u toegang tot hetzelfde eindpunt via het api
pad vanuit uw statische web-app, zoals wordt weergegeven in deze voorbeeld-URL.
https://red-sea-123.azurestaticapps.net/api/getProducts
Beide URL's verwijzen naar hetzelfde API-eindpunt. Het eindpunt in de container-app moet het /api
voorvoegsel hebben, omdat Static Web Apps overeenkomt met aanvragen die zijn gedaan aan /api
en proxy's het volledige pad naar de gekoppelde resource.
Een container-app koppelen
Als u een container-app wilt koppelen als de API-back-end voor een statische web-app, voert u de volgende stappen uit:
Ga in Azure Portal naar de statische web-app.
Selecteer API's in het navigatiemenu.
Zoek de omgeving waarnaar u het API Management-exemplaar wilt koppelen. Selecteer Koppeling.
Selecteer container-app in het resourcetype Back-end.
Selecteer in Abonnement het abonnement met de container-app die u wilt koppelen.
Selecteer de container-app in de resourcenaam.
Selecteer Koppeling.
Wanneer het koppelingsproces is voltooid, worden aanvragen naar routes die /api
beginnen met de gekoppelde container-app geproxied.
Toegang tot de container-app beheren
Uw container-app is geconfigureerd met een id-provider die Azure Static Web Apps (Linked)
alleen verkeer toestaat dat wordt geproxied via de statische web-app. Als u uw container-app toegankelijk wilt maken voor andere toepassingen, werkt u de verificatieconfiguratie bij om een andere id-provider toe te voegen of wijzigt u de beveiligingsinstellingen om niet-geverifieerde toegang toe te staan.
Een container-app ontkoppelen
Volg deze stappen om een container-app los te koppelen van een statische web-app:
Ga in Azure Portal naar de statische web-app.
Selecteer API's in het navigatiemenu.
Zoek de omgeving die u wilt ontkoppelen en selecteer de naam van de container-app.
Selecteer Ontkoppelen.
Wanneer het ontkoppelingsproces is voltooid, worden aanvragen om te routes die beginnen, /api
niet meer naar uw container-app geproxied.
Notitie
Om te voorkomen dat uw container-app per ongeluk wordt blootgesteld aan anoniem verkeer, wordt de id-provider die door het koppelingsproces is gemaakt, niet automatisch verwijderd. U kunt de id-provider met de naam Azure Static Web Apps (gekoppeld) verwijderen uit de verificatie-instellingen van de container-app.
Verificatie verwijderen uit de Container Apps-resource
Volg deze stappen om de id-provider te verwijderen om uw Container Apps-resource in staat te stellen anoniem verkeer te ontvangen:
Navigeer in Azure Portal naar de Container Apps-resource.
Selecteer Verificatie in het navigatiemenu.
Verwijder in de lijst met id-providers de id-provider die is gerelateerd aan de Static Web Apps-resource.
Selecteer Verificatie verwijderen om verificatie te verwijderen en anoniem verkeer naar uw Container Apps-resource toe te staan.
Uw Container Apps-resource kan nu anoniem verkeer ontvangen.