Overzicht van Azure-functies voor Azure Redis
In dit artikel wordt beschreven hoe u Azure Managed Redis of 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 Redis-services (Azure Managed Redis en Azure Cache voor Redis) bieden een set bouwstenen en aanbevolen procedures voor het bouwen van gedistribueerde toepassingen, waaronder microservices, statusbeheer, pub/subberichten en meer.
Azure 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 Redis en Azure Functions integreren om functies te bouwen die reageren op gebeurtenissen van Azure 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 | Azure Cache voor Redis (Basic, Standard, Premium, Enterprise, Enterprise Flash) | Azure Managed Redis (geoptimaliseerd voor geheugen, basic, geoptimaliseerd voor rekenkracht, geoptimaliseerd voor flash) |
---|---|---|
Pub/sub | Ja | Ja |
Lijsten | Ja | Ja |
Stromen | Ja | Ja |
Bindingen | 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
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 Redis-triggers en -bindingen hebben een vereiste eigenschap voor de cache verbindingsreeks. De verbindingsreeks vindt u in het menu Toegangssleutels in Azure Managed Redis of 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>.<region>.redis.azure.net:10000,password=..."
Door het systeem toegewezen beheerde identiteit
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>"
Door de gebruiker toegewezen beheerde identiteit
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
Service-principalgeheim
Verbindingen met service-principalgeheimen zijn alleen beschikbaar tijdens lokale ontwikkeling.
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
"Redis:tenantId": "<tenantId>"
"Redis:clientSecret": "<clientSecret>"