Übersicht über Azure Functions für Azure Cache for Redis (Vorschau)

In diesem Artikel wird beschrieben, wie Sie 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 Cache for Redis bietet eine Reihe von Bausteinen und Best Practices zum Erstellen verteilter Anwendungen, einschließlich Microservices, Zustandsverwaltung, Pub/Sub-Messaging und mehr.

Azure Cache for Redis kann als Trigger für Azure Functions verwendet werden, wodurch 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 Cache for Redis und Azure Functions integrieren, um Funktionen zu erstellen, die auf Ereignisse von Azure Cache for Redis oder von 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 Standard Standard, Premium Enterprise, Enterprise Flash
Pub/Sub Ja Ja Ja
Listen Ja Ja Ja
Datenströme Ja Ja Ja
Bindungen Ja 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 --prerelease

Installieren des Pakets

  1. Erstellen eines Java-Funktionsprojekts Sie könnten Maven verwenden: mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8

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

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

Die Trigger und Bindungen von Azure Cache for Redis verfügen über eine Eigenschaft, die für die Cacheverbindungszeichenfolge erforderlich ist. Die Verbindungszeichenfolge finden Sie im Menü Zugriffsschlüssel im 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: Verbinden ion-Zeichenfolge, 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.

Verbindungszeichenfolge

"Redis": "<cacheName>.redis.cache.windows.net:6380,password=..."

Systemseitig zugewiesene verwaltete Identität

"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>"

Benutzerseitig zugewiesene verwaltete Identität

"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"

Geheimnis des Dienstprinzipals

Verbinden ionen, die Dienstprinzipalgeheimnisse verwenden, sind nur während der lokalen Entwicklung verfügbar.

"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
"Redis:tenantId": "<tenantId>"
"Redis:clientSecret": "<clientSecret>"