Overzicht van Azure-functies voor Azure Cache voor Redis
In dit artikel wordt beschreven hoe u Azure Cache voor Redis gebruikt met Azure Functions om geoptimaliseerde serverloze en gebeurtenisgestuurde architecturen te maken.
Azure Functions biedt een gebeurtenisgestuurd programmeermodel waarin triggers en bindingen belangrijke functies zijn. Met Azure Functions kunt u eenvoudig serverloze toepassingen op basis van gebeurtenissen bouwen. Azure Cache voor Redis biedt een set bouwstenen en aanbevolen procedures voor het bouwen van gedistribueerde toepassingen, waaronder microservices, statusbeheer, pub/subberichten en meer.
Azure Cache voor Redis kan worden gebruikt als trigger voor Azure Functions, zodat u een serverloze werkstroom kunt initiëren. Deze functionaliteit kan zeer nuttig zijn in gegevensarchitecturen zoals een write-behind-cache of op gebeurtenissen gebaseerde architecturen.
U kunt Azure Cache voor Redis en Azure Functions integreren om functies te bouwen die reageren op gebeurtenissen van Azure Cache voor Redis of externe systemen.
Actie | Richting | Ondersteuningsniveau |
---|---|---|
Trigger op Subberichten van Redis Pub | Activator | Preview uitvoeren |
Trigger in Redis-lijsten | Activator | Preview uitvoeren |
Trigger voor Redis-streams | Activator | Preview uitvoeren |
Een waarde in de cache lezen | Invoer | Preview uitvoeren |
Een waarde schrijven om in de cache op te slaan | Uitvoer | Preview uitvoeren |
Bereik van beschikbaarheid voor functietriggers en -bindingen
Laag | Basis | Standaard, Premium | Enterprise, Enterprise Flash |
---|---|---|---|
Pub/sub | Ja | Ja | Ja |
Lijsten | Ja | Ja | Ja |
Stromen | Ja | Ja | Ja |
Bindingen | Ja | Ja | Ja |
Belangrijk
Redis-triggers worden momenteel alleen ondersteund voor functies die worden uitgevoerd in een Elastic Premium-abonnement of een toegewezen App Service-plan.
De extensie installeren
Functies worden uitgevoerd in een geïsoleerd C#-werkproces. Zie De handleiding voor het uitvoeren van C# Azure Functions in een geïsoleerd werkproces voor meer informatie.
Voeg de extensie toe aan uw project door dit NuGet-pakket te installeren.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis --prerelease
Bundel installeren
Maak een Java-functieproject. U kunt Maven gebruiken:
mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8
Voeg de extensiebundel toe door de volgende code toe te voegen of te vervangen in uw host.json bestand:
{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview", "version": "[4.11.*, 5.0.0)" } }
Waarschuwing
De Redis-extensie is momenteel alleen beschikbaar in een preview-bundelrelease.
Voeg de Java-bibliotheek voor Redis-bindingen toe aan het
pom.xml
bestand:<dependency> <groupId>com.microsoft.azure.functions</groupId> <artifactId>azure-functions-java-library-redis</artifactId> <version>${azure.functions.java.library.redis.version}</version> </dependency>
Voeg de extensiebundel toe door de volgende code toe te voegen of te vervangen in uw host.json bestand:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.11.*, 5.0.0)"
}
}
Waarschuwing
De Redis-extensie is momenteel alleen beschikbaar in een preview-bundelrelease.
Redis verbindingsreeks
Azure Cache voor Redis triggers en bindingen beschikken over een vereiste eigenschap voor de cache-verbindingsreeks. De verbindingsreeks vindt u in het menu Toegangstoetsen in de Azure Cache voor Redis-portal. De Redis-trigger of -binding zoekt naar een omgevingsvariabele met de verbindingsreeks met de naam die is doorgegeven aan de Connection
parameter.
In lokale ontwikkeling kan de Connection
definitie worden gedefinieerd met behulp van het local.settings.json-bestand . Wanneer deze wordt geïmplementeerd in Azure, kunnen toepassingsinstellingen worden gebruikt.
Wanneer u verbinding maakt met een cache-exemplaar met een Azure-functie, kunt u drie typen verbindingen in uw implementaties gebruiken: Verbindingsreeks, door het systeem toegewezen beheerde identiteit en door de gebruiker toegewezen beheerde identiteit
Voor lokale ontwikkeling kunt u ook service-principalgeheimen gebruiken.
Gebruik de appsettings
opdracht om elk van de volgende typen clientverificatie te configureren, ervan uitgaande dat de Connection
functie is ingesteld Redis
op.
Connection string
"Redis": "<cacheName>.redis.cache.windows.net:6380,password=..."
Door het systeem toegewezen beheerde identiteit
"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>"
Door de gebruiker toegewezen beheerde identiteit
"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
Service-principalgeheim
Verbindingen met service-principalgeheimen zijn alleen beschikbaar tijdens lokale ontwikkeling.
"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
"Redis:tenantId": "<tenantId>"
"Redis:clientSecret": "<clientSecret>"