Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Functions bietet integrierte Unterstützung für das Entwickeln, Bereitstellen und Verwalten von containerisierten Funktions-Apps in Azure-Container-Apps. Verwenden Sie Azure Container-Apps für Ihre Funktionen-Apps, wenn Sie in derselben Umgebung wie andere Microservices, APIs, Websites, Workflows oder in container gehosteten Programmen ausgeführt werden müssen.
Das Container Apps-Hosting ermöglicht die Ausführung Ihrer Funktionen in einer vollständig unterstützten und verwalteten containerbasierten Umgebung mit integrierter Unterstützung für Open-Source-Überwachung, mTLS, Dapr und KEDA (Kubernetes Event-Driven Autoscaling).
Als integriertes Feature in Azure Container Apps können Sie mithilfe des Ressourcenanbieters Microsoft.App
Azure Functions-Images direkt für Azure Container Apps bereitstellen, indem Sie kind=functionapp
festlegen, wenn Sie az containerapp create
aufrufen. Auf diese Weise erstellte Apps haben Zugriff auf alle Azure-Container-Apps-Features.
In diesem Artikel erfahren Sie, wie Sie eine Azure Functions-App erstellen und bereitstellen, die in Azure-Container-Apps ausgeführt wird. Hier erfahren Sie, wie Sie:
- Einrichten einer containerisierten Funktionen-App mit vorkonfigurierten Regeln für die automatische Skalierung
- Bereitstellen Ihrer Anwendung mithilfe des Azure-Portals oder der Azure CLI
- Überprüfen der bereitgestellten Funktion mit einem HTTP-Trigger
Durch die Ausführung von Funktionen in Container-Apps profitieren Sie von der automatischen Skalierung, einfachen Konfiguration und einer vollständig verwalteten Containerumgebung – alles, ohne die zugrunde liegende Infrastruktur selbst verwalten zu müssen.
Szenarien
Azure Functions on Container Apps bieten eine vielseitige Kombination von Diensten, um die Anforderungen Ihrer Anwendungen zu erfüllen. Die folgenden Szenarien sind repräsentativ für die Arten von Situationen, in denen das Analysieren von Azure-Container-Apps mit Azure Functions Ihnen die steuerungs- und skalierungsfeatures bietet, die Sie benötigen.
Branchen-APIs: Verpacken von benutzerdefinierten Bibliotheken, Paketen und APIs mit Funktionen für Branchenanwendungen.
Migrationsunterstützung: Migration von lokalen Legacy- und/oder monolithen Anwendungen auf cloudeigene Microservices für Container.
Ereignisgesteuerte Architektur: Unterstützt ereignisgesteuerte Anwendungen für Workloads, die bereits in Azure-Container-Apps ausgeführt werden.
Serverless Workloads: Serverless-Workload-Verarbeitung von Videos, Bildern, Transkriptionen oder anderen rechenintensiven Aufgaben, die GPU-Rechenressourcen benötigen.
Allgemeine Azure Functions-Szenarien: Alle gängigen Azure-Funktionen wie das Verarbeiten von Dateiuploads, das Ausführen geplanter Aufgaben, das Reagieren auf Datenbankänderungen, maschinelles Lernen/KI und andere, die in Azure Functions-Szenarien detailliert beschrieben sind.
Ereignisgesteuerte Skalierung
Alle Funktionentrigger sind in Ihrer containerisierten Funktionen-App verfügbar. Jedoch können nur die folgenden Trigger, basierend auf empfangenen Ereignissen, dynamisch skaliert werden (von null Instanzen), wenn sie in einer Container-App-Umgebung ausgeführt werden:
- Azure-Ereignisraster
- Azure Event Hubs
- Azure Blob Storage (Ereignisrasterbasiert)
- Azure Queue Storage (Warteschlangenspeicher)
- Azure-Servicebus
- Dauerhafte Funktionen (MSSQL-Speicheranbieter)
- HTTP
- Kafka
- Zeitschaltuhr
- Azure Cosmos DB (ein Microsoft-Datenbankdienst)
Azure Functions in Container-Apps sind darauf ausgelegt, die Skalierungsparameter und -regeln entsprechend dem Ereignisziel zu konfigurieren. Sie müssen sich keine Gedanken über die Konfiguration der KEDA-skalierten Objekte machen. Sie können die minimale und maximale Replikatanzahl weiterhin festlegen, wenn Sie Ihre Funktions-App erstellen oder ändern.
Die automatische Skalierung für Azure Cosmos DB-Trigger und dauerhafte Funktionen wird derzeit nur mit Verbindungszeichenfolgen unterstützt.
Sie können Ihren Funktionscode in einen beliebigen Sprachstapel schreiben, der von Azure Functions unterstützt wird. Sie können dieselben Functions-Trigger und -Bindungen mit der ereignisgesteuerten Skalierung verwenden.
Autorisierung mit verwalteter Identität
Um die bewährten Methoden für die Sicherheit einzuhalten, stellen Sie mithilfe der Microsoft Entra-Authentifizierung und der verwalteten Identitätsautorisierung eine Verbindung mit Remotediensten her.
Verwaltete Identitäten sind für die folgenden Verbindungen verfügbar:
- Standardspeicherkonto (AzureWebJobsStorage)
- Azure Container Registry: Microsoft Entra-ID mit verwalteten Identitäten können in Containeranwendungen für alle Erweiterungen für Bindungen verwendet werden, die verwaltete Identitäten unterstützen. Derzeit unterstützen nur diese Bindungserweiterungen die ereignisgesteuerte Skalierung bei Verwendung der Authentifizierung mit verwalteter Identität:
- Azure Event Hubs
- Azure Queue Storage (Warteschlangenspeicher)
- Azure-Servicebus
Verwenden Sie für andere Bindungen feste Replikate bei Verwendung der Authentifizierung mit verwalteter Identität. Weitere Informationen finden Sie im Entwicklerhandbuch für Funktionen.
Anwendungsprotokollierung
Sie können Ihre in Container-Apps gehostete containerisierte Funktions-App überwachen, indem Sie Azure Monitor Application Insights auf die gleiche Weise wie mit Apps überwachen, die in Azure Functions gehostet werden. Weitere Informationen finden Sie unter Überwachen von Azure-Funktionen.
Für Bindungen, die die ereignisgesteuerte Skalierung unterstützen, werden Skalierungsereignisse als Ereignisse der Typen FunctionsScalerInfo
und FunctionsScalerError
in Ihrem Log Analytics-Arbeitsbereich protokolliert. Weitere Informationen finden Sie unter Anwendungsprotokollierung in Azure-Container-Apps.