API-Unterstützung in Azure Static Web Apps mit Azure Functions

Von Azure Static Web Apps werden serverlose API-Endpunkte über Azure Functions bereitgestellt. Durch die Verwendung von Azure Functions werden APIs bedarfsgerecht dynamisch skaliert und bieten folgende Features:

  • Integrierte Sicherheit mit direktem Zugriff auf Benutzerdaten für die Authentifizierung und rollenbasierte Autorisierung

  • Nahtloses Routing, durch das die API-Route ganz ohne benutzerdefinierte CORS-Regeln auf sichere Weise für die Web-App verfügbar gemacht wird

Azure Static Web Apps-APIs werden je nach Hostingplan von zwei möglichen Konfigurationen unterstützt:

  • Verwaltete Funktionen: Standardmäßig ist die API einer statischen Web-App eine Azure Functions-Anwendung, die von Azure Static Web Apps verwaltet und bereitgestellt wird, was mit ein paar Einschränkungen einhergeht.

  • Bring Your Own Functions (BYOF) (Nutzung eigener Funktionen): Optional können Sie eine vorhandene Azure Functions-Anwendung eines beliebigen Plantyps bereitstellen, die über alle Features von Azure Functions verfügt. Mit dieser Konfiguration sind Sie dafür verantwortlich, eine separate Bereitstellung für die Functions-App zu verarbeiten.

Die folgende Tabelle vergleicht die Unterschiede zwischen der Verwendung verwalteter und vorhandener Funktionen.

Feature Verwaltete Funktionen Nutzung eigener Funktionen (BYOF)
Zugriff auf Azure Functions-Trigger Nur HTTP Alle
Unterstützte Azure Functions-Runtimes Node.js 12
.NET Core 3.1
.NET 6.0
Python 3.8
Alle
Unterstützte Hostingpläne für Azure Functions Nutzung Nutzung
Premium
Dediziert
Integrierte Sicherheit mit direktem Zugriff auf Benutzerdaten für die Authentifizierung und rollenbasierte Autorisierung
Routingintegration, durch die die API-Route ganz ohne benutzerdefinierte CORS-Regeln auf sichere Weise für die Web-App verfügbar gemacht wird.
Durable Functions-Programmiermodell
Verwaltete Identität
Tokenverwaltung mithilfe der Authentifizierungs- und Autorisierungsfunktionen von Azure App Service
Außerhalb von Azure Static Web Apps verfügbare API-Funktionen
Key Vault-Verweise

Konfiguration

API-Endpunkte sind für die Web-App über die API-Route verfügbar.

Verwaltete Funktionen Nutzung eigener Funktionen
Während die API-Route festgelegt ist, haben Sie die Kontrolle über den Quellcode-Ordnerspeicherort der verwalteten Functions-App. Dieser Ort kann durch Bearbeiten der YAML-Datei des Workflows geändert werden, die sich im Ordner .github/workflows Ihres Repositorys befindet. Anforderungen an die API-Route werden an Ihre vorhandene Azure Functions-App gesendet.

Problembehandlung und Protokolle

Protokolle sind nur verfügbar, wenn Sie Application Insights hinzufügen.

Verwaltete Funktionen Nutzung eigener Funktionen
Aktivieren Sie die Protokollierung, indem Sie Application Insights für Ihre statische Web-App aktivieren. Aktivieren Sie die Protokollierung, indem Sie Application Insights für Ihre Azure Functions-App aktivieren.

Einschränkungen

Verwaltete Funktionen Nutzung eigener Funktionen
  • Trigger sind auf HTTP beschränkt.
  • Die Azure Functions-App muss entweder in Node.js 12, .NET Core 3.1, .NET 6.0 oder Python 3.8 geschrieben sein.
  • Einige Anwendungseinstellungen werden vom Dienst verwaltet, weshalb die folgenden Präfixe von der Runtime reserviert sind:
    • APPSETTING_, AZUREBLOBSTORAGE_, AZUREFILESSTORAGE_, AZURE_FUNCTION_, CONTAINER_, DIAGNOSTICS_, DOCKER_, FUNCTIONS_, IDENTITY_, MACHINEKEY_, MAINSITE_, MSDEPLOY_, SCMSITE_, SCM_, WEBSITES_, WEBSITE_, WEBSOCKET_, AzureWeb
  • Sie sind für die Verwaltung der Bereitstellung der Functions-App verantwortlich.

Nächste Schritte