Einführen eigener Funktionen in Azure Static Web Apps (Bring Your Own Functions)
Azure Static Web Apps-APIs werden von zwei möglichen Konfigurationen unterstützt: verwaltete Funktionen und eigene Funktionen (Bring Your Own Functions). Details zu den beiden Konfigurationen finden Sie in der API-Referenz.
Dieser Artikel veranschaulicht, wie Sie eine vorhandene Azure Functions-App mit einer Azure Static Web Apps-Ressource verknüpfen.
Hinweis
„Bring Your Own Functions“ ist nur im Azure Static Web Apps-Standardplan verfügbar.
Beispiel
Sie haben eine Azure Functions-App, die einen Endpunkt über den folgenden Speicherort verfügbar macht.
https://my-functions-app.azurewebsites.net/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 Endpunkt-URLs zeigen auf dieselbe Funktion.
Verknüpfen einer vorhandenen Azure Functions-App
Bevor Sie eine vorhandene Functions-App zuordnen, müssen Sie zunächst die Konfiguration Ihrer statischen Web-App anpassen.
Legen Sie den
api_location
-Wert in der Datei für die Workflowkonfiguration auf eine leere Zeichenfolge (""
) fest.Öffnen Sie Ihre Static Web Apps-Instanz im Azure-Portal.
Wählen Sie im Menü Einstellungen die Option Funktionen aus.
Wählen Sie in der Dropdownliste Umgebung die Option Produktion aus.
Wählen Sie neben der Bezeichnung Funktionstyp die Option Mit einer Funktions-App verknüpfen aus.
Wählen Sie in der Dropdownliste Abonnement den Namen Ihres Azure-Abonnements aus.
Wählen Sie in der Dropdownliste Funktions-App den Namen der vorhandenen Functions-App aus, die Sie mit Ihrer statischen Web-App verknüpfen möchten.
Wählen Sie die Schaltfläche Verknüpfen aus.
Wichtig
Stellen Sie sicher, dass Sie den api_location
-Wert in der Datei für die Workflowkonfiguration auf eine leere Zeichenfolge (""
) festlegen, bevor Sie eine vorhandene Functions-Anwendung verknüpfen.
Bereitstellung
Sie sind für die Einrichtung eines Bereitstellungsworkflows für Ihre Azure Functions-App zuständig.
Sicherheitseinschränkungen
Authentifizierung und Autorisierung: Wenn für Ihre vorhandene Functions-App noch keine Authentifizierungs- und Autorisierungsrichtlinien eingerichtet wurden, hat die statische Web-App exklusiven Zugriff auf die API. Damit andere Anwendungen auf Ihre Functions-App zugreifen können, fügen Sie einen anderen Identitätsanbieter hinzu, oder ändern Sie die Sicherheitseinstellungen, um nicht authentifizierten Zugriff zuzulassen.
Hinweis
Wenn Sie die Authentifizierung und Autorisierung in Ihrer verknüpften Functions-App aktivieren, muss diese die Azure App Service-Authentifizierung und -Autorisierung Version 2 des Anbieters verwenden.
Erforderlicher öffentlicher Zugriff: Eine vorhandene Functions-App darf die folgenden Sicherheitskonfigurationen nicht anwenden.
- Einschränken der IP-Adresse der Functions-App
- Einschränken des Datenverkehrs über private Links oder Dienstendpunkte
Funktionszugriffsschlüssel: Wenn Ihre Funktion einen Zugriffsschlüssel erfordert, müssen Sie den Schlüssel mit Aufrufen von der statischen App an die API bereitstellen.
Beschränkungen
- Für eine einzelne statische Web-App ist nur eine Azure Functions-App verfügbar.
- Der
api_location
-Wert in der Workflowkonfiguration muss auf eine leere Zeichenfolge festgelegt werden. - Wird nur in der Static Web Apps-Produktionsumgebung unterstützt.
- Während Ihre Azure Functions-App möglicherweise auf verschiedene Trigger reagiert, kann die statische Web-App nur über HTTP-Endpunkte auf Funktionen zugreifen.