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.

Bevor Sie eine vorhandene Functions-App zuordnen, müssen Sie zunächst die Konfiguration Ihrer statischen Web-App anpassen.

  1. Legen Sie den api_location-Wert in der Datei für die Workflowkonfiguration auf eine leere Zeichenfolge ("") fest.

  2. Öffnen Sie Ihre Static Web Apps-Instanz im Azure-Portal.

  3. Wählen Sie im Menü Einstellungen die Option Funktionen aus.

  4. Wählen Sie in der Dropdownliste Umgebung die Option Produktion aus.

  5. Wählen Sie neben der Bezeichnung Funktionstyp die Option Mit einer Funktions-App verknüpfen aus.

  6. Wählen Sie in der Dropdownliste Abonnement den Namen Ihres Azure-Abonnements aus.

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

  8. Wählen Sie die Schaltfläche Verknüpfen aus.

    Link an existing Functions app

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.

Nächste Schritte