2 votes

Coût de la fonction Azure - les opérations déclenchées par la fonction sont-elles également comptabilisées dans le temps d'exécution de la fonction ?

J'essaie d'estimer les coûts d'Azure Functions. Une chose qui n'est pas claire pour moi est de savoir comment le temps d'exécution d'une fonction est mesuré. Je parle ici d'une Azure Function qui utilise un binding tel que Azure Cosmos DB Binding ou File Storage binding.

Par exemple, j'ai une fonction node.js azure avec outputBinding :

module.exports = function (context) {

  context.bindings.employeeDocument = JSON.stringify({ 
    id: context.bindings.myQueueItem.name + "-" + context.bindings.myQueueItem.employeeId,
    name: context.bindings.myQueueItem.name,
    employeeId: context.bindings.myQueueItem.employeeId,
    address: context.bindings.myQueueItem.address
  });

  context.done();
};

Nous avons défini la liaison de sortie à la propriété "employeeDocument" et les données sont sauvegardées dans la base de données après le retour de la fonction. La question est la suivante : ce qui se passe après le bloc de code ci-dessus (enregistrement dans la base de données, peut-être dans le cadre d'une transaction, peut-être d'autres opérations requises pour l'enregistrement dans la base de données) est-il également compté comme un temps d'exécution de la fonction azure ? En d'autres termes, devons-nous également payer pour ce qui se passe après que nous ayons quitté le bloc de fonction mais qui a été déclenché par la fonction ?

1voto

Chris Anderson-MSFT Points 4870

Vous payez à partir du moment où le message "Fonction démarrée" est affiché jusqu'au moment où le message "Fonction terminée" apparaît dans votre journal. Cela inclut le temps de traitement des liaisons d'entrée et de sortie. Pour estimer combien vous allez payer, vous pouvez utiliser le compteur d'Azure Monitoring pour la durée (il est agrégé dans le temps, à travers les fonctions, et n'est donc pas très granulaire). Si vous souhaitez une vision plus granulaire, activez App Insights pour votre Function App et utilisez la fonction duration sur la propriété requests table.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X