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.

Führen Sie die folgenden Schritte aus, um eine Container-App als API-Back-End für eine statische Web-App zu verknüpfen:

  1. Wechseln Sie im Azure-Portal zur statischen Web-App.

  2. Wählen Sie im Navigationsmenü APIs aus.

  3. Suchen Sie die Umgebung, mit der Sie die API Management-Instanz verknüpfen möchten. Link wählen.

  4. Wählen Sie bei Back-End-Ressourcentyp die Option Container-App aus.

  5. Wählen Sie bei Abonnement das Abonnement aus, das die Container-App enthält, die Sie verknüpfen möchten.

  6. Wählen Sie bei Ressourcenname die Container-App aus.

  7. 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.

Führen Sie die folgenden Schritte aus, um die Verknüpfung einer Container-App mit einer statischen Web-App aufzuheben:

  1. Wechseln Sie im Azure-Portal zur statischen Web-App.

  2. Wählen Sie im Navigationsmenü APIs aus.

  3. Suchen Sie die Umgebung, deren Verknüpfung Sie aufheben möchten, und wählen Sie den Namen der Container-App aus.

  4. 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:

  1. Navigieren Sie im Azure-Portal zur Ressource "Container-Apps".

  2. Wählen Sie im Navigationsmenü die Option "Authentifizierung " aus.

  3. Löschen Sie aus der Liste der Identitätsanbieter den Identitätsanbieter im Zusammenhang mit der Static Web-Apps-Ressource.

  4. 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.

Nächste Schritte