Übersicht über Azure-Funktionen für Azure Redis
In diesem Artikel wird beschrieben, wie Sie entweder Azure Managed Redis oder Azure Cache for Redis mit Azure Functions verwenden, um optimierte serverlose und ereignisgesteuerte Architekturen zu erstellen.
Azure Functions stellt ein ereignisgesteuertes Programmiermodell bereit, bei dem Trigger und Bindungen wichtige Features sind. Mit Azure Functions können Sie problemlos ereignisgesteuerte serverlose Anwendungen erstellen. Azure Redis-Dienste (Azure Managed Redis und Azure Cache for Redis) bieten eine Reihe von Bausteinen und bewährten Methoden zum Erstellen verteilter Anwendungen, einschließlich Mikroservices, Zustandsverwaltung, Pub/Sub Messaging und mehr.
Azure Redis kann als Trigger für Azure Functions verwendet werden, sodass Sie einen serverlosen Workflow initiieren können. Diese Funktionalität kann in Datenarchitekturen wie einem Write-Behind-Cache oder allen ereignisbasierten Architekturen sehr nützlich sein.
Sie können Azure Redis und Azure Functions integrieren, um Funktionen zu erstellen, die auf Ereignisse von Azure Redis oder externen Systemen reagieren.
Aktion | Direction | Supportebene |
---|---|---|
Trigger für Redis Pub-Unternachrichten | Trigger | Vorschau |
Trigger für Redis-Listen | Trigger | Vorschau |
Trigger für Redis-Datenströme | Trigger | Vorschau |
Lesen eines zwischengespeicherten Werts | Eingabe | Vorschau |
Schreiben von Werten zum Zwischenspeichern | Output | Vorschau |
Verfügbarkeitsbereich für Funktionentrigger und Bindungen
Tarif | Azure-Cache für Redis (Basic, Standard, Premium, Enterprise, Enterprise Flash) | Azure Managed Redis (Speicher optimiert, Einfach, Compute optimiert, Flash optimiert) |
---|---|---|
Pub/Sub | Ja | Ja |
Listen | Ja | Ja |
Datenströme | Ja | Ja |
Bindungen | Ja | Ja |
Wichtig
Redis-Trigger werden derzeit nur für Funktionen unterstützt, die in einem Elastic Premium-Plan oder einem dedizierten App Service-Plan ausgeführt werden.
Installieren der Erweiterung
Funktionen werden in einem isolierten C#-Workerprozess ausgeführt. Weitere Informationen finden Sie im Leitfaden zum Ausführen von Azure Functions (C#) in einem isolierten Workerprozess.
Fügen Sie ihrem Projekt die Erweiterung hinzu, indem Sie dieses NuGet-Paket installieren.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis
Installieren des Pakets
Erstellen eines Java-Funktionsprojekts Sie könnten Maven verwenden:
mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8
Fügen Sie das Erweiterungspaket hinzu, indem Sie den folgenden Code in Ihrer Datei host.json hinzufügen oder ersetzen:
{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview", "version": "[4.11.*, 5.0.0)" } }
Warnung
Die Redis-Erweiterung ist derzeit nur in einem Vorschaupaketrelease verfügbar.
Fügen Sie der Datei
pom.xml
die Java-Bibliothek für Redis-Bindungen hinzu:<dependency> <groupId>com.microsoft.azure.functions</groupId> <artifactId>azure-functions-java-library-redis</artifactId> <version>${azure.functions.java.library.redis.version}</version> </dependency>
Fügen Sie das Erweiterungspaket hinzu, indem Sie den folgenden Code in Ihrer Datei host.json hinzufügen oder ersetzen:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.11.*, 5.0.0)"
}
}
Warnung
Die Redis-Erweiterung ist derzeit nur in einem Vorschaupaketrelease verfügbar.
Redis-Verbindungszeichenfolge
Azure Redis triggers and bindings have a required property for the cache Verbindungszeichenfolge. Die Verbindungszeichenfolge finden Sie im Menü "Zugriffstasten" im Azure Managed Redis- oder Azure Cache for Redis-Portal. Der Trigger oder die Bindung von Redis sucht nach einer Umgebungsvariablen, die die Verbindungszeichenfolge mit dem Namen enthält, der an den Parameter Connection
übergebenen wird.
In der lokalen Entwicklung kann Connection
mithilfe der Datei local.settings.json definiert werden. Bei der Bereitstellung in Azure können Anwendungseinstellungen verwendet werden.
Wenn Sie eine Verbindung mit einer Cacheinstanz mit einer Azure-Funktion herstellen, können Sie drei Arten von Verbindungen in Ihren Bereitstellungen verwenden: Verbindungszeichenfolge, vom System zugewiesene verwaltete Identität und vom Benutzer zugewiesene verwaltete Identität
Für die lokale Entwicklung können Sie auch Dienstprinzipalschlüssel verwenden.
Verwenden Sie die appsettings
Folgenden Typen der Clientauthentifizierung, wobei davon ausgegangen wird, dass sie Connection
in der Funktion festgelegt Redis
wurde.
Connection string
"Redis": "<cacheName>.<region>.redis.azure.net:10000,password=..."
Systemseitig zugewiesene verwaltete Identität
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>"
Benutzerseitig zugewiesene verwaltete Identität
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
Geheimnis des Dienstprinzipals
Verbindungen mit Dienstprinzipalschlüsseln sind nur während der lokalen Entwicklung verfügbar.
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
"Redis:tenantId": "<tenantId>"
"Redis:clientSecret": "<clientSecret>"