Delen via


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
Trigger op Subberichten van Redis Pub Activator
Trigger in Redis-lijsten Activator
Trigger voor Redis-streams Activator
Een waarde in de cache lezen Invoer
Een waarde schrijven om in de cache op te slaan Uitvoer

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

Als u deze bindingsextensie in uw app wilt kunnen gebruiken, moet u ervoor zorgen dat het host.json bestand in de hoofdmap van uw project deze extensionBundle verwijzing bevat:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

In dit voorbeeld geeft de version waarde van [4.0.0, 5.0.0) de Functions-host opdracht om een bundelversie te gebruiken die ten minste 4.0.0 maar kleiner is dan 5.0.0, die alle mogelijke versies van 4.x bevat. Deze notatie onderhoudt uw app effectief op de nieuwste beschikbare secundaire versie van de v4.x-extensiebundel.

Indien mogelijk moet u de meest recente primaire versie van de extensiebundel gebruiken en toestaan dat de runtime automatisch de meest recente secundaire versie onderhoudt. U kunt de inhoud van de meest recente bundel bekijken op de releasepagina voor extensiebundels. Zie Azure Functions-extensiebundels voor meer informatie.

Pakketten bijwerken

Voeg het Azure Functions Java Redis Annotaations-pakket toe aan uw project door het pom.xml bestand bij te werken om deze afhankelijkheid toe te voegen:

<dependency>
  <groupId>com.microsoft.azure.functions</groupId>
  <artifactId>azure-functions-java-library-redis</artifactId>
  <version>1.0.0</version>
</dependency>

Redis verbindingsreeks

Azure Redis-triggers en -bindingen hebben een vereiste eigenschap die de toepassingsinstelling of verzamelingsnaam aangeeft die cacheverbindingsgegevens bevat. 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 een van deze soorten verbindingen in uw implementaties gebruiken:

Een door de gebruiker toegewezen mananged-identiteit moet zijn gekoppeld aan uw functie-app en die identiteit moet ook expliciete machtigingen krijgen in uw cacheservice. Zie Microsoft Entra ID gebruiken voor cacheverificatie voor meer informatie.

In deze voorbeelden ziet u de sleutelnaam en waarde van app-instellingen die nodig zijn om verbinding te maken met elke cacheservice op basis van het type clientverificatie, ervan uitgaande dat de Connection eigenschap in de binding is ingesteld op Redis.

"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"