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.
Souvent, vous créez des systèmes qui réagissent à une série d’événements critiques. Que vous générez une API web, que vous répondiez aux modifications de base de données ou que vous traitez des flux d'événements ou des messages, vous pouvez utiliser Azure Functions pour implémenter ces systèmes.
Dans de nombreux cas, une fonction s’intègre à un tableau de services cloud pour fournir des implémentations riches en fonctionnalités. La liste suivante présente des scénarios courants (mais sans aucun moyen exhaustifs) pour Azure Functions.
Sélectionnez en haut de l'article votre langage de développement.
Traiter des chargements de fichiers
Vous pouvez utiliser des fonctions de plusieurs façons pour traiter des fichiers vers l'intérieur ou l'extérieur d’un conteneur de stockage Blob. Pour en savoir davantage sur les options de déclenchement d'un conteneur de blobs, consultez la section Travailler avec des blobs figurant dans la documentation sur les meilleures pratiques.
Par exemple, dans le cadre d’une solution de vente au détail, un système partenaire peut envoyer des informations de catalogue de produits sous forme de fichiers dans le stockage d’objets blob. Vous pouvez utiliser une fonction déclenchée par un objet blob pour valider, transformer et traiter les fichiers dans le système principal lorsque vous les chargez.
Les didacticiels suivants utilisent des déclencheurs d’objets blob Azure basés sur Azure Event Grid pour traiter les fichiers dans un conteneur d’objets blob :
- Quickstart : Répondre aux événements de stockage Blob avec Azure Functions
- Exemple : déclencheur Blob avec le type de source Event Grid
- Tutorial (événements) : déclencher Azure Functions sur des conteneurs d’objets blob à l’aide d’un abonnement aux événements
- Tutorial (interrogation) : chargez et analysez un fichier avec Azure Functions et Stockage Blob
Par exemple, vous pouvez recourir au déclencheur Blob avec un abonnement à un événement appliqué aux conteneurs de blobs :
[FunctionName("ProcessCatalogData")]
public static async Task Run([BlobTrigger("catalog-uploads/{name}", Source = BlobTriggerSource.EventGrid, Connection = "<NAMED_STORAGE_CONNECTION>")] Stream myCatalogData, string name, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myCatalogData.Length} Bytes");
using (var reader = new StreamReader(myCatalogData))
{
var catalogEntry = await reader.ReadLineAsync();
while(catalogEntry !=null)
{
// Process the catalog entry
// ...
catalogEntry = await reader.ReadLineAsync();
}
}
}
- Quickstart : Répondre aux événements de stockage Blob avec Azure Functions
- Tutorial : Traiter des images à l’aide de FFmpeg sur un partage Azure Files monté
- Exemple : déclencheur Blob avec le type de source Event Grid
- Sample : traitement d’images FFmpeg avec montage de stockage Azure Files
- Tutoriel : déclencher des Azure Functions sur des conteneurs d’objets blob à l’aide d’un abonnement à des événements
Traitement des flux et des événements en temps réel
Les applications cloud, les appareils IoT et les appareils réseau génèrent et collectent une grande quantité de données client. Azure Functions est en mesure de traiter ces données en quasi temps réel en tant que flux actif, puis de les enregistrer dans Azure Cosmos DB afin de les exploiter dans un tableau de bord analytique.
Vos fonctions peuvent également utiliser des déclencheurs d’événements à faible latence, tels que Event Grid, et des sorties en temps réel comme SignalR pour traiter les données en quasi temps réel.
Par exemple, vous pouvez utiliser le déclencheur Event Hubs pour lire à partir d'un Event Hub et la liaison de sortie pour écrire dans un Event Hub après avoir débatché et transformé les événements :
[FunctionName("ProcessorFunction")]
public static async Task Run(
[EventHubTrigger(
"%Input_EH_Name%",
Connection = "InputEventHubConnectionSetting",
ConsumerGroup = "%Input_EH_ConsumerGroup%")] EventData[] inputMessages,
[EventHub(
"%Output_EH_Name%",
Connection = "OutputEventHubConnectionSetting")] IAsyncCollector<SensorDataRecord> outputMessages,
PartitionContext partitionContext,
ILogger log)
{
var debatcher = new Debatcher(log);
var debatchedMessages = await debatcher.Debatch(inputMessages, partitionContext.PartitionId);
var xformer = new Transformer(log);
await xformer.Transform(debatchedMessages, partitionContext.PartitionId, outputMessages);
}
- Sample : Diffusion en continu à grande échelle avec Azure Event Hubs, Functions et Azure SQL
- Sample : Diffusion en continu à grande échelle avec Azure Event Hubs, Functions et Cosmos DB
- Sample : Diffusion en continu à grande échelle avec Azure Event Hubs avec le producteur Kafka, Functions avec déclencheur Kafka et Cosmos DB
- Sample : diffusion en continu à grande échelle avec Azure IoT Hub, Functions et Azure SQL
- Déclencheur Azure Event Hubs pour Azure Functions
- Déclencheur Apache Kafka pour Azure Functions
Créer des applications compatibles avec l’IA
Utilisez Azure Functions pour rendre les données et les API accessibles aux clients IA et pour ajouter le raisonnement IA aux applications pilotées par événements.
Rendez vos données et API accessibles à l’IA
Les clients et agents IA ont besoin d’outils qui offrent un accès contrôlé aux données métier, aux API et à la logique applicative. Vous pouvez utiliser Azure Functions pour construire et héberger des serveurs distants Model Context Protocol (MCP) qui exposent ces capacités sous forme d’outils. Functions propose un hébergement géré, une authentification, du réseau, de la surveillance et de la mise à l’échelle pour votre serveur MCP.
Par exemple, vous pourriez exposer l’inventaire de produits, les données de comptes clients ou une API professionnelle existante comme des outils qu’un client IA peut découvrir et utiliser.
- Quickstart : Créer un serveur MCP distant personnalisé à l’aide de Azure Functions
- Démarrage rapide : Créer des applications MCP avec Azure Functions
- Quickstart : Serveurs hôtes créés avec des kits SDK MCP sur Azure Functions
- Tutoriel : Hébergez un serveur MCP sur Azure Functions
- Référence : liaison MCP pour Azure Functions
- Utilisez les outils et les modèles IA dans Azure Functions
Ajouter le raisonnement IA aux événements d’affaires
Certains événements professionnels nécessitent un raisonnement avant que votre candidature puisse décider de la suite à donner. Les compétences hébergées par Azure Functions vous permettent de définir un travail alimenté par l’IA dans Markdown et de le lancer à partir de plannings, requêtes HTTP, messages de file d’attente, changements de stockage et autres événements. La compétence hébergée peut appeler des outils et des services avant de renvoyer un résultat ou d’effectuer une action.
Par exemple, une compétence hébergée peut classifier une plainte entrante et la diriger vers la file d’attente appropriée. Pour des travaux plus complexes, un flux de travail dynamique peut créer un plan durable en plusieurs étapes qui exécute les tâches en parallèle, attend les conditions externes et reprend après le redémarrage du travailleur.
- Quickstart : Développez une application d’IA événementielle avec des compétences hébergées sur Azure Functions
- Tutoriel : Créer et exécuter des flux de travail dynamiques avec des compétences hébergées sur Azure Functions
- Exemple : Application de compétences hébergée par événements
- Exemple : Triage des incidents de flux de travail
- Aperçu : Compétences hébergées sur Azure Functions
- Aperçu : Flux de travail dynamiques dans Azure Functions Hosted Skills
Exécuter des tâches planifiées
Functions vous permet d’exécuter votre code selon une planification cron que vous définissez.
Pour plus d’informations, consultez Créer une fonction dans le portail Azure qui s’exécute selon une planification.
Par exemple, vous pouvez analyser une base de données client des services financiers pour les entrées en double toutes les 15 minutes afin d’éviter que plusieurs communications sortent vers le même client.
Pour obtenir des exemples, consultez ces extraits de code :
[FunctionName("TimerTriggerCSharp")]
public static void Run([TimerTrigger("0 */15 * * * *")]TimerInfo myTimer, ILogger log)
{
if (myTimer.IsPastDue)
{
log.LogInformation("Timer is running late!");
}
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
// Perform the database deduplication
}
Prenons cet exemple :
Prenons cet exemple :
Prenons cet exemple :
Prenons cet exemple :
Prenons cet exemple :
Créer une API web évolutive
Une fonction déclenchée par HTTP définit un point de terminaison HTTP. Ces points de terminaison exécutent un code de fonction capable de se connecter à d'autres services directement ou à l'aide d'extensions de liaison. Vous pouvez composer les points de terminaison dans une API web.
Vous pouvez également exploiter un point de terminaison de fonction déclenché par HTTP comme mécanisme d’intégration webhook, notamment pour les webhooks GitHub. De cette façon, vous pouvez créer des fonctions qui traitent les données à partir de GitHub événements. Pour plus d’informations, consultez déclencheur HTTP Azure Functions.
Pour obtenir des exemples, consultez ces extraits de code :
[FunctionName("InsertName")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequest req,
[CosmosDB(
databaseName: "my-database",
collectionName: "my-container",
ConnectionStringSetting = "CosmosDbConnectionString")]IAsyncCollector<dynamic> documentsOut,
ILogger log)
{
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic data = JsonConvert.DeserializeObject(requestBody);
string name = data?.name;
if (name == null)
{
return new BadRequestObjectResult("Please pass a name in the request body json");
}
// Add a JSON document to the output container.
await documentsOut.AddAsync(new
{
// create a random ID
id = System.Guid.NewGuid().ToString(),
name = name
});
return new OkResult();
}
- Quickstart : Créer une API web évolutive à l’aide de Azure Functions
- Créez des API sans serveur dans Visual Studio en utilisant l'intégration d'Azure Functions et de la gestion des API
- Exposez des API serverless à partir de points de terminaison HTTP en utilisant Gestion des API Azure.
Générer un workflow serverless
Les fonctions servent souvent de composant de calcul dans une topologie de flux de travail serverless, comme un flux de travail Logic Apps. Vous pouvez également créer des orchestrations de longue durée en utilisant l'extension Durable Functions. Pour plus d’informations, consultez Durable Functions vue d’ensemble.
Prenons ces exemples :
- Quickstart : Créez votre première fonction durable dans Azure à l’aide de Python
- Tutoriel : analyse durable de texte à l'aide d'un partage Azure Files monté
- Exemple : analyse de texte persistante avec le montage du stockage Azure Files
- Training : Déployer des API serverless avec Azure Functions, Logic Apps et Azure SQL Database
Répondre à des modifications de base de données
Certains processus doivent journaliser, auditer ou effectuer d’autres opérations lors des modifications de données stockées. Les déclencheurs Functions fournissent un excellent moyen d’être averti des modifications de données pour initier une telle opération.
Prenons ces exemples :
Créer des systèmes de messages fiables
Vous pouvez utiliser Functions avec Azure services de messagerie pour créer des solutions de messagerie avancées basées sur des événements.
Par exemple, vous pouvez utiliser des déclencheurs sur des files d’attente stockage Azure comme moyen de chaîner une série d’exécutions de fonction. Vous pouvez également utiliser des files d’attente et des déclencheurs Service Bus pour un système de commande en ligne.
Ces articles montrent comment écrire une sortie dans une file d’attente de stockage :
Ces articles montrent comment déclencher à partir d’une file d’attente ou d’une rubrique Azure Service Bus.