API-Unterstützung in Azure Static Web Apps mit Azure Container Apps
Azure Container Apps ist eine verwaltete Plattform für das Hosten von serverlosen Containern und Microservices.
Wenn Sie Ihre Container-App mit Ihrer statischen Web-App verknüpfen, werden alle Anforderungen an Ihre statische Web-App mit einer Route, die mit /api
beginnt, an dieselbe Route in der Container-App weitergeleitet.
Wenn eine Container-App mit einer statischen Web-App verknüpft ist, akzeptiert die Container-App standardmäßig nur Anforderungen, die über die verknüpfte statische Web-App weitergeleitet werden. Eine Container-App kann immer nur mit jeweils einer einzigen statischen Web-App verknüpft werden.
API-Optionen für Static Web Apps umfassen die folgenden Azure-Dienste:
Weitere Informationen finden Sie in der Übersicht über APIs.
Hinweis
Die Integration in Azure Container-Apps erfordert den Statischen Web-Apps Standardplan.
Back-End-Integration wird in statischen Web-Apps Pullanforderungsumgebungen nicht unterstützt.
Voraussetzungen
Um eine Container-App mit Ihrer statischen Web-App zu verknüpfen, müssen Sie über eine vorhandene Container-Apps-Ressource und eine statische Web-App verfügen.
Resource | Beschreibung |
---|---|
Azure Container Apps | Wenn Sie noch keins haben, führen Sie die Schritte im Handbuch für die Bereitstellung Ihrer ersten Container-App aus. |
Vorhandene statische Web-App | Wenn Sie noch keine besitzen, führen Sie die Schritte in der Anleitung zu den ersten Schritten aus, um eine statische Web-App ohne Framework zu erstellen. |
Beispiel
Erwägen Sie eine vorhandene Azure Container App-Instanz, die einen Endpunkt über den folgenden Speicherort verfügbar macht.
https://my-container-app.red-river-123.eastus2.azurecontainerapps.io/api/getProducts
Nach der Verknüpfung können Sie von Ihrer statischen Web-App über den api
-Pfad auf denselben Endpunkt zugreifen, wie in dieser Beispiel-URL gezeigt.
https://red-sea-123.azurestaticapps.net/api/getProducts
Beide URLs verweisen auf denselben API-Endpunkt. Der Endpunkt in der Container-App muss das /api
Präfix aufweisen, da static Web-Apps Anforderungen /api
an und Proxys den gesamten Pfad zur verknüpften Ressource abgleicht.
Verknüpfen einer Container-App
Führen Sie die folgenden Schritte aus, um eine Container-App als API-Back-End für eine statische Web-App zu verknüpfen:
Wechseln Sie im Azure-Portal zur statischen Web-App.
Wählen Sie im Navigationsmenü APIs aus.
Suchen Sie die Umgebung, mit der Sie die API Management-Instanz verknüpfen möchten. Link wählen.
Wählen Sie bei Back-End-Ressourcentyp die Option Container-App aus.
Wählen Sie bei Abonnement das Abonnement aus, das die Container-App enthält, die Sie verknüpfen möchten.
Wählen Sie bei Ressourcenname die Container-App aus.
Link wählen.
Wenn der Verknüpfungsprozess abgeschlossen ist, werden Anforderungen, die mit /api
beginnen, zur verknüpften Container-App weitergeleitet.
Verwalten des Zugriffs auf die Container-App
Ihre Container-App ist mit einem Identitätsanbieter namens Azure Static Web Apps (Linked)
konfiguriert, der nur Datenverkehr zulässt, der über die statische Web-App weitergeleitet wird. Wenn Sie Ihre Container-App für andere Anwendungen zugänglich machen möchten, ändern Sie die Authentifizierungskonfiguration, um einen anderen Identitätsanbieter hinzuzufügen, oder ändern Sie die Sicherheitseinstellungen so, dass ein nicht authentifizierter Zugriff zulässig ist.
Aufheben der Verknüpfung einer Container-App
Führen Sie die folgenden Schritte aus, um die Verknüpfung einer Container-App mit einer statischen Web-App aufzuheben:
Wechseln Sie im Azure-Portal zur statischen Web-App.
Wählen Sie im Navigationsmenü APIs aus.
Suchen Sie die Umgebung, deren Verknüpfung Sie aufheben möchten, und wählen Sie den Namen der Container-App aus.
Wählen Sie Verknüpfung aufheben aus.
Wenn der Prozess der Aufhebung der Verknüpfung abgeschlossen ist, werden Anforderungen an Routen, die mit /api
beginnen, nicht mehr an Ihre Container-App weitergeleitet.
Hinweis
Um zu verhindern, dass Ihre Container-App versehentlich anonymem Datenverkehr ausgesetzt wird, wird der durch den Verknüpfungsprozess erstellte Identitätsanbieter nicht automatisch gelöscht. Sie können den Identitätsanbieter namens Azure Static Web Apps (Verknüpft) aus den Authentifizierungseinstellungen der Container-App löschen.
Entfernen der Authentifizierung aus der Container-Apps-Ressource
Führen Sie die folgenden Schritte aus, um die Container-Apps-Ressource für den Empfang anonymen Datenverkehrs zu aktivieren, um den Identitätsanbieter zu entfernen:
Navigieren Sie im Azure-Portal zur Ressource "Container-Apps".
Wählen Sie im Navigationsmenü die Option "Authentifizierung " aus.
Löschen Sie aus der Liste der Identitätsanbieter den Identitätsanbieter im Zusammenhang mit der Static Web-Apps-Ressource.
Wählen Sie "Authentifizierung entfernen" aus, um die Authentifizierung zu entfernen und anonymen Datenverkehr für Ihre Container-Apps-Ressource zuzulassen.
Ihre Container-Apps-Ressource kann jetzt anonymen Datenverkehr empfangen.