Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
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 tutoriels suivants utilisent un déclencheur Blob (basé sur la grille d’événements) pour traiter les fichiers dans un conteneur Blob :
Par exemple, utilisez le déclencheur blob avec un abonnement à un événement sur les conteneurs blob :
[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();
}
}
}
- Guide de prise en main : Répondez aux événements de stockage d’objets blob avec Azure Functions
- Exemple : Déclencheur Blob avec l’exemple de démarrage rapide du type de source Event Grid)
- Tutoriel (événements) : Déclencher Azure Functions sur des conteneurs d’objets blob à l’aide d’un abonnement aux événements
- Tutoriel (sondage) : Charger et analyser un fichier avec Azure Functions et Blob Storage
- Démarrage rapide : Répondre aux événements de stockage Blob à l’aide d’Azure Functions
- Exemple : Déclencheur Blob avec l’exemple de démarrage rapide du type de source Event Grid)
- Tutoriel (événements) : Déclencher Azure Functions sur des conteneurs d’objets blob à l’aide d’un abonnement aux événements
- Tutoriel (sondage) : Charger et analyser un fichier avec Azure Functions et Blob Storage
- Guide de démarrage rapide : répondre aux événements de stockage d’objets blob à l’aide d’Azure Functions
- Exemple : déclencheur d’objet blob avec l’exemple de démarrage rapide du type de source Event Grid)
- Tutoriel : Déclencher Azure Functions sur des conteneurs d’objets blob à l’aide d’un abonnement aux é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 de télémétrie. Azure Functions peut traiter ces données en quasi temps réel comme chemin d’accès chaud, puis les stocker dans Azure Cosmos DB à utiliser dans un tableau de bord d’analyse.
Vos fonctions peuvent également utiliser des déclencheurs d’événements à faible latence, comme Azure 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);
}
- Streaming à grande échelle avec Azure Event Hubs, Functions et Azure SQL
- Streaming à grande échelle avec Azure Event Hubs, Functions et Cosmos DB
- Streaming à grande échelle avec Azure Event Hubs avec le producteur Kafka, Functions avec le déclencheur Kafka et Cosmos DB
- Streaming à 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
Machine Learning et intelligence artificielle
Azure Functions fournit des ressources de calcul serverless qui s’intègrent à l’IA et aux services Azure pour simplifier la création d’applications intelligentes hébergées dans le cloud. Vous pouvez utiliser le modèle de programmation Functions pour créer et héberger des serveurs MCP (Remote Model Content Protocol) et implémenter différents outils IA. Pour plus d’informations, consultez Outils et serveurs MCP.
L’extension de liaison Azure OpenAI vous permet d’intégrer des fonctionnalités et des comportements IA du service Azure OpenAI, tels que la génération d’extraction augmentée (RAG), dans vos exécutions de code de fonction. Pour plus d'informations, voir Génération augmentée par la récupération.
Une fonction peut également appeler un modèle TensorFlow ou des services Azure AI pour traiter et classifier un flux d’images.
- Démarrage rapide : Créer un serveur MCP distant personnalisé à l’aide d’Azure Functions
- Démarrage rapide : Serveurs hôtes créés avec des kits SDK MCP sur Azure Functions
- Exemple : Prise en main des serveurs MCP distants à l’aide d’Azure Functions
- Exemple : Héberger des serveurs MCP distants créés avec des kits SDK MCP officiels sur Azure Functions
- Démarrage rapide : Créer un serveur MCP distant personnalisé à l’aide d’Azure Functions
- Démarrage rapide : Serveurs hôtes créés avec des kits SDK MCP sur Azure Functions
- Exemple : Prise en main des serveurs MCP distants à l’aide d’Azure Functions
- Exemple : Héberger des serveurs MCP distants créés avec des kits SDK MCP officiels sur Azure Functions
Pour plus d’informations, consultez Utiliser des outils et des modèles IA dans Azure Functions.
Exécuter des tâches planifiées
Functions vous permet d’exécuter votre code selon une planification cron que vous définissez.
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
}
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 utiliser un point de terminaison de fonction déclenché par HTTP comme intégration de webhook, comme des webhooks GitHub. De cette manière, vous pouvez créer des fonctions traitant des données à partir d’événements GitHub. Pour plus d’informations, consultez Surveiller les événements GitHub à l’aide d’un webhook avec 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();
}
- Démarrage rapide : déclencheur HTTP Azure Functions
- Article : Créer des API serverless dans Visual Studio à l’aide de l’intégration d’Azure Functions et gestion des API
- Formation : Exposer plusieurs applications de fonction en tant qu’API cohérente à l’aide de Gestion des API Azure
- Exemple : application web avec une API C# et Azure SQL DB sur Static Web Apps and Functions
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 de longues orchestrations à l’aide de l’extension Durable Functions. Pour plus d’informations, consultez Aperçu de Durable Functions.
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
Functions avec les services de messagerie Azure permet de créer des solutions de messagerie avancées pilotées par les événements.
Par exemple, les déclencheurs sur les files d'attente du Stockage Microsoft Azure vous permettent d'enchaîner une série d'exécutions de fonctions. 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.