Ö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
Skapa ett Java-funktionsprojekt. Du kan använda Maven:
mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8
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.
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>"