Gestion d’erreurs d’Azure FunctionsAzure Functions error handling

La gestion des erreurs dans Azure Functions est importante pour éviter des pertes de données, des événements manqués et pour superviser l’intégrité de votre application.Handling errors in Azure Functions is important to avoid lost data, missed events, and to monitor the health of your application.

Cet article décrit les stratégies générales de gestion des erreurs, ainsi que des liens vers des erreurs propres à la liaison.This article describes general strategies for error handling along with links to binding-specific errors.

Gestion des erreursHandling errors

Les erreurs signalées dans Azure Functions peuvent avoir l’une des origines suivantes :Errors raised in an Azure Functions can come from any of the following origins:

  • Utilisation des déclencheurs et liaisons intégrés Azure FunctionsUse of built-in Azure Functions triggers and bindings
  • Appels aux API des services Azure sous-jacentsCalls to APIs of underlying Azure services
  • Appels aux points de terminaison RESTCalls to REST endpoints
  • Appels aux bibliothèques clientes, aux packages ou aux API tiercesCalls to client libraries, packages, or third-party APIs

Il est important de suivre des pratiques de gestion des erreurs solides afin d’éviter de perdre des données ou de manquer des messages.Following solid error handling practices is important to avoid loss of data or missed messages. Les pratiques recommandées concernant la gestion des erreurs impliquent les actions suivantes :Recommended error handling practices include the following actions:

Utiliser la gestion structurée des erreursUse structured error handling

La capture et la publication des erreurs sont essentielles pour superviser l’intégrité de votre application.Capturing and publishing errors is critical to monitoring the health of your application. Le niveau le plus élevé de tout code de fonction doit inclure un bloc try/catch.The top-most level of any function code should include a try/catch block. Dans le bloc catch, vous pouvez capturer et publier des erreurs.In the catch block, you can capture and publish errors.

Prise en charge des nouvelles tentativesRetry support

Les déclencheurs suivants prennent en charge les nouvelles tentatives intégrées :The following triggers have built-in retry support:

Par défaut, ces déclencheurs retentent les requêtes jusqu’à cinq fois.By default, these triggers retry requests up to five times. Après la cinquième tentative, le Stockage File d’attente Azure et les déclencheurs Azure Service Bus écrivent un message dans une file d’attente de messages incohérents.After the fifth retry, both the Azure Queue storage and Azure Service Bus triggers write a message to a poison queue.

Pour tous les autres types de déclencheurs ou de liaisons, vous devez implémenter manuellement les stratégies de nouvelle tentative.You need to manually implement retry policies for any other triggers or bindings types. Les implémentations manuelles peuvent impliquer l’écriture d’informations sur les erreurs dans une file d’attente de messages incohérents.Manual implementations may include writing error information to a poison message queue. Le fait d’écrire des données dans une file d’attente de messages incohérents vous permet de retenter des opérations ultérieurement.By writing to a poison queue, you have the opportunity to retry operations at a later time. Cette approche est la même que celle utilisée par le déclencheur du stockage Blob.This approach is the same one used by the Blob storage trigger.

Codes d’erreur de liaisonBinding error codes

Lors de l’intégration aux services Azure, vous pouvez rencontrer des erreurs provenant des API des services sous-jacents.When integrating with Azure services, errors may originate from the APIs of the underlying services. Les informations relatives aux erreurs propres à la liaison sont disponibles dans la section Exceptions et codes de retour des articles suivants :Information relating to binding-specific errors is available in the Exceptions and return codes section of the following articles: