Dela via


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

Den här artikeln beskriver hur du använder Antingen Azure Managed Redis eller 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 Redis-tjänster (Azure Managed Redis och Azure Cache for Redis) tillhandahåller en uppsättning byggstenar och metodtips för att skapa distribuerade program, inklusive mikrotjänster, tillståndshantering, pub-/undermeddelanden med mera.

Azure Redis kan användas som 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 Redis och Azure Functions för att skapa funktioner som reagerar på händelser från Azure 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å Azure Cache for Redis (Basic, Standard, Premium, Enterprise, Enterprise Flash) Azure Managed Redis (Minnesoptimerad, Grundläggande, Beräkningsoptimerad, Flash-optimerad)
Pub/under Ja Ja
Listor Ja Ja
Strömmar Ja Ja
Bindningar 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

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 anslutningssträng

Azure Redis-utlösare och bindningar har en nödvändig egenskap för cachen anslutningssträng. Anslutningssträng finns på menyn Åtkomstnycklar i Azure Managed Redis eller Azure Cache for Redis-portalen. Redis-utlösaren eller bindningen letar efter en miljövariabel som innehåller anslutningssträng 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>.<region>.redis.azure.net:10000,password=..."

Systemtilldelad hanterad identitet

"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>"

Användartilldelad hanterad identitet

"Redis:redisHostName": "<cacheName>.<region>.redis.azure.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>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
"Redis:tenantId": "<tenantId>"
"Redis:clientSecret": "<clientSecret>"