Partager via


Vue d’ensemble des fonctions Azure pour Azure Redis

Cet article explique comment utiliser Azure Managed Redis ou Azure Cache pour Redis avec Azure Functions pour créer des architectures serverless et pilotées par les événements optimisées.

Azure Functions fournit un modèle de programmation piloté par les événements où les déclencheurs et les liaisons sont des fonctionnalités clés. Avec Azure Functions, vous pouvez facilement créer des applications serverless pilotées par les événements. Les services Azure Redis (Azure Managed Redis et Azure Cache pour Redis) fournissent un ensemble de blocs de construction et de bonnes pratiques pour la création d’applications distribuées, notamment les microservices, la gestion de l’état, la publication/sous-messagerie, etc.

Azure Redis peut être utilisé comme déclencheur pour Azure Functions, ce qui vous permet de lancer un flux de travail serverless. Cette fonctionnalité peut être très utile dans les architectures de données telles qu’un cache en écriture-behind ou toutes les architectures basées sur les événements.

Vous pouvez intégrer Azure Redis et Azure Functions pour créer des fonctions qui réagissent aux événements d’Azure Redis ou de systèmes externes.

Action Sens
Déclencheur sur les sous-messages de publication Redis Déclencheur
Déclencheur sur les listes Redis Déclencheur
Déclencheur sur les flux Redis Déclencheur
Lire une valeur mise en cache Input
Écrire des valeurs dans le cache Sortie

Étendue de la disponibilité pour les déclencheurs et liaisons de fonctions

Niveau Azure Cache pour Redis (De base, Standard, Premium, Enterprise, Enterprise Flash) Azure Managed Redis (mémoire optimisée, de base, optimisée pour le calcul, mémoire optimisée, mémoire optimisée)
Pub/Sub Oui Oui
Listes Oui Oui
Flux Oui Oui
Liaisons Oui Oui

Important

Les déclencheurs Redis sont actuellement pris en charge uniquement pour les fonctions s’exécutant dans un plan Elastic Premium ou un plan App Service dédié.

Installer l’extension

Les fonctions s’exécutent dans un processus de travail C# isolé. Pour en savoir plus, consultez Guide pour l’exécution d’Azure Functions C# dans un processus Worker isolé.

Ajoutez l’extension à votre projet en installant ce package NuGet.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis

Installer le bundle

Pour pouvoir utiliser cette extension de liaison dans votre application, assurez-vous que le fichier host.json à la racine de votre projet contient cette extensionBundle référence :

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

Dans cet exemple, la version valeur de [4.0.0, 5.0.0) l’hôte Functions indique à l’hôte Functions d’utiliser une version groupée qui est au moins 4.0.0 mais inférieure à , qui inclut toutes les versions potentielles 5.0.0de 4.x. Cette notation gère efficacement votre application sur la dernière version mineure disponible de l’offre groupée d’extensions v4.x.

Si possible, vous devez utiliser la dernière version principale de l’offre groupée d’extensions et autoriser le runtime à gérer automatiquement la dernière version mineure. Vous pouvez afficher le contenu de la dernière offre groupée sur la page de publication des offres groupées d’extensions. Pour plus d’informations, consultez les bundles d’extensions Azure Functions.

Mettre à jour des packages

Ajoutez le package Annotations Java Redis Azure Functions à votre projet en mettant à jour le pom.xml fichier pour ajouter cette dépendance :

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

Chaîne de connexion Redis

Les déclencheurs et liaisons Redis Azure ont une propriété requise qui indique le paramètre d’application ou le nom de collection qui contient des informations de connexion de cache. Le déclencheur ou la liaison Redis recherche une variable d’environnement contenant la chaîne de connexion avec le nom passé au Connection paramètre .

Dans le développement local, le Connection peut être défini à l’aide du fichier local.settings.json. Lors du déploiement sur Azure, les paramètres d’application peuvent être utilisés.

Lorsque vous vous connectez à une instance de cache avec une fonction Azure, vous pouvez utiliser l’un de ces types de connexions dans vos déploiements :

Une identité managée affectée par l’utilisateur doit être associée à votre application de fonction, et cette identité doit également recevoir des autorisations explicites dans votre service de cache. Pour plus d’informations, consultez Utiliser l’ID Microsoft Entra pour l’authentification du cache.

Ces exemples montrent le nom de clé et la valeur des paramètres d’application requis pour se connecter à chaque service de cache en fonction du type d’authentification du client, en supposant que la Connection propriété dans la liaison est définie Redissur .

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