Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 |
|---|---|
| Utlösare för Redis pub-undermeddelanden | Utlösare |
| Utlösare i Redis-listor | Utlösare |
| Utlösare på Redis-strömmar | Utlösare |
| Läsa ett cachelagrat värde | Indata |
| Skriva ett värde att cachelagrat | Output |
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
För att kunna använda det här bindningstillägget i din app kontrollerar du att denhost.json filen i projektets rot innehåller den här extensionBundle referensen:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
I det här exemplet version instruerar värdet [4.0.0, 5.0.0) för Functions-värden att använda en paketversion som är minst 4.0.0 men mindre än 5.0.0, som innehåller alla potentiella versioner av 4.x. Den här notationen underhåller appen på den senaste tillgängliga delversionen av v4.x-tilläggspaketet.
När det är möjligt bör du använda den senaste huvudversionen av tilläggspaketet och låta körningen automatiskt behålla den senaste delversionen. Du kan visa innehållet i det senaste paketet på versionssidan för tilläggspaket. Mer information finns i Azure Functions-tilläggspaket.
Uppdatera paket
Lägg till Azure Functions Java Redis Annotations-paketet i projektet genom att uppdatera pom.xml filen för att lägga till det här beroendet:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-redis</artifactId>
<version>1.0.0</version>
</dependency>
Redis anslutningssträng
Azure Redis-utlösare och bindningar har en obligatorisk egenskap som anger programinställningen eller samlingsnamnet som innehåller cacheanslutningsinformation. 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 en av dessa typer av anslutningar i dina distributioner:
- Användartilldelad hanterad identitet
- Systemtilldelad hanterad identitet
- Anslutningssträng
- Tjänstens huvud
En användartilldelad mananged identitet måste associeras med din funktionsapp och den identiteten måste också beviljas explicita behörigheter i cachetjänsten. Mer information finns i Använda Microsoft Entra-ID för cacheautentisering.
De här exemplen visar nyckelnamnet och värdet för de appinställningar som krävs för att ansluta till varje cachetjänst baserat på typen av klientautentisering, förutsatt att Connection egenskapen i bindningen är inställd på Redis.
"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"