API-Unterstützung in Azure Static Web Apps mit Azure Functions
Front-End-Webanwendungen rufen häufig Back-End-APIs für Daten und Dienste auf. Von Azure Static Web Apps werden serverlose API-Endpunkte über Azure Functions bereitgestellt.
Azure Functions-APIs in Static Web Apps sind je nach Hostingplan in zwei möglichen Konfigurationen verfügbar:
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 alle Features von Azure Functions beinhaltet. 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.
Funktion | Verwaltete Funktionen | Nutzung eigener Funktionen (BYOF) |
---|---|---|
Zugriff auf Trigger und Bindungen in Azure Functions | Nur HTTP | Alle |
Unterstützte Azure Functions-Runtimes1 | Node.js 12 Node.js 14 Node.js 16 Node.js 18 .NET Core 3.1 .NET 6.0 .NET 7.0 Python 3.8 Python 3.9 Python 3.10 |
Alle |
Unterstützte Hostingpläne für Azure Functions | Verbrauch | Verbrauch 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. |
✔ | ✔ |
Verteilte Funktionen (Vorschau) für die dynamische globale Verteilung des Back-End-Compute. | ✔ | ✕ |
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 | ✕ | ✔ |
1 Um die Laufzeitversion in verwalteten Funktionen anzugeben, fügen Sie Ihrer Front-End-App eine Konfigurationsdatei hinzu, und legen Sie die apiRuntime
-Eigenschaft fest. Die Unterstützung unterliegt der Unterstützungsrichtlinie für die Azure Functions-Sprachlaufzeit.
API-Optionen für Static Web Apps umfassen die folgenden Azure-Dienste:
Weitere Informationen finden Sie in der Übersicht über APIs.
Hinweis
Verteilte Funktionen sind mit verwalteten Funktionen verfügbar. Verteilte Funktionen verteilen Ihre verwalteten Funktionen automatisch an Bereiche mit hohen Anforderungslasten.
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 Funktions-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
Zusätzlich zu den Static Web Apps-API-Einschränkungen gelten ebenfalls die folgenden Einschränkungen für Azure Functions-APIs:
Verwaltete Funktionen | Nutzung eigener Funktionen |
---|---|
|
|