recherche
Maisondéveloppement back-endTutoriel PythonAzure Functions avec Python : déclencheurs

Azure Functions with Python: Triggers

Les développeurs Python peuvent utiliser Azure Functions pour créer des applications sans serveur légères, évolutives et efficaces. Dans cet article, nous nous concentrerons sur les déclencheurs.

Que sont les déclencheurs dans Azure Functions ?

Les déclencheurs constituent le fondement d’Azure Functions. Ils déterminent comment une fonction est invoquée. Chaque fonction doit avoir exactement un déclencheur, et le type de déclencheur dicte la charge utile de données disponible pour la fonction. Azure prend en charge divers déclencheurs, notamment :

1​. Déclencheur HTTP

  • Permet d'invoquer des fonctions via des requêtes HTTP.
  • Utile pour créer des API ou répondre aux webhooks.
  • Exemple :
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.route(route="http_trigger", auth_level=func.AuthLevel.ANONYMOUS)
def http_trigger(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    return func.HttpResponse("Hello world from HTTP trigger")

Paramètres :

  • route : Spécifie le chemin de l'URL auquel le déclencheur HTTP répondra. Dans ce cas, la fonction est accessible sur /api/http_trigger.
  • auth_level : Détermine le niveau d'authentification de la fonction. Les options incluent :
    • ANONYME : Aucune authentification requise.
    • FONCTION : Nécessite une clé spécifique à la fonction.
    • ADMIN : nécessite une clé de niveau administrateur.

2​. Déclencheur de minuterie

  • Exécute des fonctions en fonction d'un calendrier.
  • Les expressions Cron sont utilisées pour la planification.
  • Exemple :
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.timer_trigger(schedule="0 */5 * * * *", arg_name="myTimer", run_on_startup=False, use_monitor=False)
def timer_trigger(myTimer: func.TimerRequest) -> None:

    if myTimer.past_due:
        logging.info('The timer is past due!')

    logging.info('Python timer trigger function executed.')

Paramètres :

  • schedule : Définit le planning à l'aide d'une expression CRON. Ici, 0 */5 * * * * spécifie que la fonction s'exécute toutes les 5 minutes à partir de la 0ème seconde.
  • arg_name : Le nom de l'argument passé à la fonction, représentant l'objet TimerRequest.
  • run_on_startup : Si elle est définie sur True, la fonction s'exécute immédiatement au démarrage de l'application. La valeur par défaut est False.
  • use_monitor : Détermine si Azure doit surveiller les exécutions planifiées manquées. Si True, Azure garantit que les exécutions manquées sont retentées. La valeur par défaut est True. Dans cet exemple, il est défini sur False.

3​. Déclencheur de gouttes

  • Répond aux modifications dans Azure Blob Storage (par exemple, téléchargements de fichiers).
  • Exemple :
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.blob_trigger(arg_name="myblob", path="blobname", connection="BlobStorageConnectionString")
def BlobTrigger(myblob: func.InputStream):
    logging.info(f"Python blob trigger function processed blob"
                f"Name: {myblob.name}"
                f"Blob Size: {myblob.length} bytes")

Paramètres :

  • arg_name : Spécifie le nom de l'argument dans la fonction qui représente les données blob. Ici c'est myblob.
  • path : Le chemin dans le conteneur Blob Storage que la fonction écoute. Dans cet exemple, il s'agit de blobname.
  • connexion : Fait référence au nom du paramètre d'application contenant la chaîne de connexion pour le compte Blob Storage. Ici, c'est BlobStorageConnectionString.

4​. Déclencheur de file d'attente

  • Déclenché par les messages ajoutés aux files d'attente de stockage Azure.
  • Exemple :
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.route(route="http_trigger", auth_level=func.AuthLevel.ANONYMOUS)
def http_trigger(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    return func.HttpResponse("Hello world from HTTP trigger")

Paramètres :

  • arg_name : Spécifie le nom de l'argument qui représente le message de file d'attente dans la fonction. Ici, c'est azqueue.
  • queue_name : nom de la file d'attente de stockage Azure que la fonction écoute. Dans ce cas, il s'agit du nom de la file d'attente.
  • connexion : fait référence au paramètre d'application contenant la chaîne de connexion pour la file d'attente de stockage Azure. Ici, c'est QueueConnectionString.

5​. Déclencheur EventHub

  • Déclenché par des événements envoyés à un Azure Event Hub.
  • Exemple :
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.timer_trigger(schedule="0 */5 * * * *", arg_name="myTimer", run_on_startup=False, use_monitor=False)
def timer_trigger(myTimer: func.TimerRequest) -> None:

    if myTimer.past_due:
        logging.info('The timer is past due!')

    logging.info('Python timer trigger function executed.')

Paramètres :

  • arg_name : Ceci spécifie le nom du paramètre qui recevra les données d'événement dans votre fonction. Dans ce cas, azeventhub sera la variable représentant l'EventHubEvent entrant.
  • event_hub_name : Ceci indique le nom de l'Event Hub que la fonction écoute. Remplacez eventhubname par le nom réel de votre Event Hub.
  • connexion : Il s'agit du nom du paramètre d'application qui contient la chaîne de connexion pour Event Hub. Assurez-vous que les paramètres de votre application Azure Function incluent une entrée nommée EventHubConnectionString avec la valeur de chaîne de connexion appropriée.

6​. Déclencheur de file d’attente ServiceBus

  • Déclenché par des messages ajoutés à une file d'attente Azure Service Bus.
  • Exemple :
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.blob_trigger(arg_name="myblob", path="blobname", connection="BlobStorageConnectionString")
def BlobTrigger(myblob: func.InputStream):
    logging.info(f"Python blob trigger function processed blob"
                f"Name: {myblob.name}"
                f"Blob Size: {myblob.length} bytes")

Paramètres :

  • arg_name : Ceci spécifie le nom du paramètre qui recevra les données du message dans votre fonction. Dans ce cas, azservicebus sera la variable représentant le ServiceBusMessage entrant.
  • queue_name : Ceci indique le nom de la file d'attente Service Bus que la fonction écoute. Remplacez servicebusqueuename par le nom réel de votre file d'attente Service Bus.
  • connexion : Il s'agit du nom du paramètre d'application qui contient la chaîne de connexion pour le Service Bus. Assurez-vous que les paramètres de votre application Azure Function incluent une entrée nommée ServiceBusConnectionString avec la valeur de chaîne de connexion appropriée.

7​. Déclencheur de sujet ServiceBus

  • Déclenché par des messages publiés dans un sujet Azure Service Bus.
  • Exemple :
import azure.functions as func
import datetime
import json
import logging

app = func.FunctionApp()

@app.route(route="http_trigger", auth_level=func.AuthLevel.ANONYMOUS)
def http_trigger(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    return func.HttpResponse("Hello world from HTTP trigger")

Paramètres :

  • arg_name : Spécifie le nom de l'argument qui représente le message Service Bus dans la fonction. Ici, c'est azservicebus.
  • subscription_name : nom de l'abonnement Service Bus écouté par le déclencheur.
  • topic_name : nom de la rubrique Service Bus écoutée par le déclencheur. Dans cet exemple, il s'agit de servicebustopicname.
  • connexion : fait référence au paramètre d'application contenant la chaîne de connexion pour l'espace de noms Azure Service Bus. Ici, il s'agit de ServiceBusConnectionString.

Autres déclencheurs

  • Déclencheur Cosmos DB : Répond aux modifications (insertions et mises à jour) dans une base de données Azure Cosmos DB en utilisant le mécanisme de flux de modification.
  • Dapr Publish Output Binding : Permet aux fonctions de publier des messages sur un sujet Dapr pendant l'exécution, facilitant ainsi la communication entre les microservices.
  • Déclencheur d'invocation du service Dapr : Permet aux fonctions d'être invoquées directement par d'autres services compatibles Dapr, prenant en charge la communication de service à service.
  • Dapr Topic Trigger : Exécute des fonctions en réponse aux messages publiés sur un sujet spécifique via le modèle de messagerie de publication-abonnement de Dapr.
  • Event Grid Trigger : Active les fonctions lorsque des événements sont envoyés à un sujet Azure Event Grid, permettant ainsi des architectures réactives basées sur les événements.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Python vs C: applications et cas d'utilisation comparésPython vs C: applications et cas d'utilisation comparésApr 12, 2025 am 12:01 AM

Python convient à la science des données, au développement Web et aux tâches d'automatisation, tandis que C convient à la programmation système, au développement de jeux et aux systèmes intégrés. Python est connu pour sa simplicité et son écosystème puissant, tandis que C est connu pour ses capacités de contrôle élevées et sous-jacentes.

Le plan Python de 2 heures: une approche réalisteLe plan Python de 2 heures: une approche réalisteApr 11, 2025 am 12:04 AM

Vous pouvez apprendre les concepts de programmation de base et les compétences de Python dans les 2 heures. 1. Apprenez les variables et les types de données, 2. Flux de contrôle maître (instructions et boucles conditionnelles), 3. Comprenez la définition et l'utilisation des fonctions, 4. Démarrez rapidement avec la programmation Python via des exemples simples et des extraits de code.

Python: Explorer ses applications principalesPython: Explorer ses applications principalesApr 10, 2025 am 09:41 AM

Python est largement utilisé dans les domaines du développement Web, de la science des données, de l'apprentissage automatique, de l'automatisation et des scripts. 1) Dans le développement Web, les cadres Django et Flask simplifient le processus de développement. 2) Dans les domaines de la science des données et de l'apprentissage automatique, les bibliothèques Numpy, Pandas, Scikit-Learn et Tensorflow fournissent un fort soutien. 3) En termes d'automatisation et de script, Python convient aux tâches telles que les tests automatisés et la gestion du système.

Combien de python pouvez-vous apprendre en 2 heures?Combien de python pouvez-vous apprendre en 2 heures?Apr 09, 2025 pm 04:33 PM

Vous pouvez apprendre les bases de Python dans les deux heures. 1. Apprenez les variables et les types de données, 2. Structures de contrôle maître telles que si les instructions et les boucles, 3. Comprenez la définition et l'utilisation des fonctions. Ceux-ci vous aideront à commencer à écrire des programmes Python simples.

Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures?Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures?Apr 02, 2025 am 07:18 AM

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu?Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu?Apr 02, 2025 am 07:15 AM

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Que dois-je faire si le module '__builtin__' n'est pas trouvé lors du chargement du fichier de cornichon dans Python 3.6?Que dois-je faire si le module '__builtin__' n'est pas trouvé lors du chargement du fichier de cornichon dans Python 3.6?Apr 02, 2025 am 07:12 AM

Chargement des fichiers de cornichons dans Python 3.6 Rapport de l'environnement Erreur: modulenotFoundError: NomoduLenamed ...

Comment améliorer la précision de la segmentation des mots jieba dans l'analyse des commentaires pittoresques?Comment améliorer la précision de la segmentation des mots jieba dans l'analyse des commentaires pittoresques?Apr 02, 2025 am 07:09 AM

Comment résoudre le problème de la segmentation des mots jieba dans l'analyse des commentaires pittoresques? Lorsque nous effectuons des commentaires et des analyses pittoresques, nous utilisons souvent l'outil de segmentation des mots jieba pour traiter le texte ...

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP