Overzicht van Azure-functies voor Azure Cache voor Redis (preview)

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

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

  1. Maak een Java-functieproject. U kunt Maven gebruiken: mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8

  2. 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.

  3. 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: Verbinding maken iontekenreeks, 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

Verbinding maken ions die gebruikmaken van Service Principal Secrets 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>"