Ö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
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 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>"