Dela via


Översikt över Azure-funktioner för Azure Cache for Redis

Den här artikeln beskriver hur du använder Azure Cache for Redis med Azure Functions för att skapa optimerade serverlösa och händelsedrivna arkitekturer.

Azure Functions tillhandahåller en händelsedriven programmeringsmodell där utlösare och bindningar är viktiga funktioner. Med Azure Functions kan du enkelt skapa händelsedrivna serverlösa program. Azure Cache for Redis innehåller en uppsättning byggstenar och metodtips för att skapa distribuerade program, inklusive mikrotjänster, tillståndshantering, pub-/undermeddelanden med mera.

Azure Cache for Redis kan användas som en utlösare för Azure Functions, så att du kan initiera ett serverlöst arbetsflöde. Den här funktionen kan vara mycket användbar i dataarkitekturer som en cache för skrivning bakom eller händelsebaserade arkitekturer.

Du kan integrera Azure Cache for Redis och Azure Functions för att skapa funktioner som reagerar på händelser från Azure Cache for Redis eller externa system.

Åtgärd Riktning Supportnivå
Utlösare för Redis pub-undermeddelanden Utlösare Förhandsversion
Utlösare i Redis-listor Utlösare Förhandsversion
Utlösare på Redis-strömmar Utlösare Förhandsversion
Läsa ett cachelagrat värde Indata Förhandsversion
Skriva ett värde att cachelagrat Output Förhandsversion

Omfång för tillgänglighet för funktionsutlösare och bindningar

Nivå Grundläggande Standard, Premium Enterprise, Enterprise Flash
Pub/under Ja Ja Ja
Listor Ja Ja Ja
Strömmar Ja Ja Ja
Bindningar Ja Ja Ja

Viktigt!

Redis-utlösare stöds för närvarande endast för funktioner som körs i antingen en Elastic Premium-plan eller en dedikerad App Service-plan.

Installera tillägget

Funktioner körs i en isolerad C#-arbetsprocess. Mer information finns i Guide för att köra C# Azure Functions i en isolerad arbetsprocess.

Lägg till tillägget i projektet genom att installera det här NuGet-paketet.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis --prerelease

Installera paket

  1. Skapa ett Java-funktionsprojekt. Du kan använda Maven: mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8

  2. Lägg till tilläggspaketet genom att lägga till eller ersätta följande kod i din host.json-fil :

    {
      "version": "2.0",
      "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
        "version": "[4.11.*, 5.0.0)"
      }
    }
    

    Varning

    Redis-tillägget är för närvarande endast tillgängligt i en förhandsversion av paketet.

  3. Lägg till Java-biblioteket för Redis-bindningar i pom.xml filen:

    <dependency>
      <groupId>com.microsoft.azure.functions</groupId>
      <artifactId>azure-functions-java-library-redis</artifactId>
      <version>${azure.functions.java.library.redis.version}</version>
    </dependency>
    

Lägg till tilläggspaketet genom att lägga till eller ersätta följande kod i din host.json-fil :

  {
    "version": "2.0",
    "extensionBundle": {
      "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
      "version": "[4.11.*, 5.0.0)"
  }
}

Varning

Redis-tillägget är för närvarande endast tillgängligt i en förhandsversion av paketet.

Redis niska veze

Azure Cache for Redis-utlösare och bindningar har en obligatorisk egenskap för cachen niska veze. Du hittar niska veze på menyn Åtkomstnycklar i Azure Cache for Redis-portalen. Redis-utlösaren eller bindningen letar efter en miljövariabel som innehåller niska veze med namnet som skickas till parameternConnection.

I lokal utveckling Connection kan definieras med hjälp av filen local.settings.json . När du distribuerar till Azure kan programinställningar användas.

När du ansluter till en cacheinstans med en Azure-funktion kan du använda tre typer av anslutningar i dina distributioner: Anslutningssträng, Systemtilldelad hanterad identitet och Användartilldelad hanterad identitet

För lokal utveckling kan du också använda tjänstens huvudnamnshemligheter.

appsettings Använd för att konfigurera var och en av följande typer av klientautentisering, förutsatt att har Connection angetts till Redis i funktionen.

Connection string

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

Systemtilldelad hanterad identitet

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

Användartilldelad hanterad identitet

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

Tjänstens huvudnamnshemlighet

Anslutningar som använder tjänstens huvudnamnshemligheter är endast tillgängliga under lokal utveckling.

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