Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure Functions est un service de calcul serverless que vous pouvez utiliser pour exécuter du code à la demande sans avoir à provisionner ou gérer explicitement l’infrastructure. Il vous permet d’implémenter du code déclenché par des événements qui se produisent dans Azure ou dans des services partenaires. Cette capacité d’Azure Functions à répondre aux déclencheurs en fait une sortie naturelle pour Azure Stream Analytics. Cet adaptateur de sortie permet aux utilisateurs de connecter Stream Analytics à Azure Functions et d’exécuter un script ou un élément de code en réponse à divers événements.
La sortie Azure Functions de Stream Analytics n’est pas disponible dans Microsoft Azure géré par 21Vianet et Azure Allemagne (T-Systems International). La connexion à Azure Functions à l’intérieur d’un réseau virtuel à partir d’un travail Stream Analytics qui s’exécute dans un cluster multilocataire n’est pas non plus prise en charge.
Azure Stream Analytics appelle Azure Functions via des déclencheurs HTTP. L’adaptateur de sortie Azure Functions est disponible avec les propriétés configurables suivantes :
| Nom de la propriété | Description |
|---|---|
| Conteneur de fonctions | Le nom de votre application Azure Functions. |
| Fonction | Le nom de la fonction dans votre application Azure Functions. |
| Clé | Si vous souhaitez utiliser une fonction Azure issue d’un autre abonnement, vous pouvez le faire en fournissant la clé pour accéder à votre fonction. |
| Taille maximale du lot | Une propriété qui vous permet de définir la taille maximale pour chaque lot de sortie envoyé à votre fonction Azure. L’unité d’entrée est en octets. Par défaut, cette valeur est de 262 144 octets (256 Ko). |
| Nombre maximal de lots | Une propriété qui vous permet de spécifier le nombre maximal d'événements envoyés à Azure Functions dans chaque lot. La valeur par défaut est 100. |
Azure Stream Analytics s’attend à ce que l’état HTTP 200 de l’application Functions pour les lots qui ont été traités avec succès.
Quand Azure Stream Analytics reçoit une exception 413 (« entité de requête http trop grande ») d’une fonction Azure, elle réduit la taille des lots qu’il envoie à Azure Functions. Dans votre code de fonction Azure, utilisez cette exception pour vous assurer qu’Azure Stream Analytics n’envoie pas de lots surdimensionnés. Vérifiez également que le nombre maximal de lots et les valeurs de taille utilisées dans la fonction sont cohérentes avec les valeurs entrées dans le portail Stream Analytics.
Note
Lors du test de connexion, Stream Analytics envoie (POST) un lot vide à Azure Functions pour tester si la connexion entre les deux fonctionne. Assurez-vous que votre application Functions gère les demandes de lots vides pour vérifier que la connexion de test réussit.
En outre, dans une situation où il n’y a aucun événement d’atterrissage dans une fenêtre de temps, aucune sortie n’est générée. Par conséquent, la fonction computeResult n’est pas appelée. Ce comportement est cohérent avec les fonctions d’agrégation intégrées à fenêtres.
Partitionnement
La clé de partition est basée sur la clause PARTITION BY dans la requête. Le nombre d’enregistreurs de sortie suit le partitionnement d’entrée pour les requêtes entièrement parallélisées.
Taille du lot de sortie
La taille du lot par défaut est de 262 144 octets (256 Ko). Le nombre d’événements par lot par lot est de 100. La taille du lot est configurable et peut être augmentée ou réduite dans les options de sortie Stream Analytics.
Limitation
Azure Functions doit terminer sa requête en moins de 100 secondes, car le client HTTP expire après 100 secondes. S’il faut plus de 100 secondes pour qu’Azure Functions traite un lot de données, il existe un délai d’attente qui déclenche une nouvelle tentative. Cette nouvelle tentative peut entraîner des données en double, car Azure Functions traite à nouveau les données et génère potentiellement la même sortie, car elle a peut-être été générée partiellement dans la requête précédente.
Exemples de code
La sortie Azure Functions peut être utilisée pour relayer des messages dans des bases de données non prises en charge, telles que Redis ou mettre à jour des tables dans Azure SQL.
Étapes suivantes
- Démarrage rapide : Créer un travail Stream Analytics à l’aide du portail Azure
- Démarrage rapide : Créer un travail Azure Stream Analytics avec l’interface de ligne de commande Azure
- Démarrage rapide : Créer une tâche Azure Stream Analytics à l'aide d'un modèle ARM
- Démarrage rapide : Créer un travail Stream Analytics à l’aide d’Azure PowerShell
- Démarrage rapide : Créer un travail Azure Stream Analytics à l’aide de Visual Studio
- Démarrage rapide : Créer un travail Azure Stream Analytics dans Visual Studio Code