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

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