2017-11-23 6 views
2

私はAzure関数のコストを見積もっています。私にとって不明な点があるのは、関数の実行が正確にどのように測定されているかということです。 AzureコスモスDBバインディングやファイルストレージバインディングなどのバインディングを使用するAzure関数をここでは意味します。例えばAzure関数コスト - 関数によってトリガされる操作も、関数実行時間としてカウントされますか?

、私はoutputBindingとNode.jsの紺碧の機能を持っている:

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(); 
}; 

私たちは、「employeeDocument」プロパティに結合する出力を設定し、データが関数から戻った後、DBに保存されています。 問題は、上記のコードブロック(DBに保存、トランザクション内で、おそらくDB保存に必要な他の操作)の後に何が起こるかは、それもまた紺色関数の実行時間としてカウントされますか? 言い換えれば、私たちは機能ブロックを離れるが機能によってトリガーされた後に何が起こるかについても支払うのだろうか?

答えて

1

「機能開始」メッセージから、ログに表示されている「機能完了」メッセージまでの時間をお支払いします。これには、入出力バインディングを処理する時間も含まれます。あなたが支払う金額を見積もるためには、Azure Monitoringメーターを期間中使用することができます(これは時間の経過とともに、関数間で集約されているため、きめ細かくはありません)。より詳細な分析が必要な場合は、機能アプリのApp Insightsをオンにしてrequestsテーブルのdurationプロパティを使用します。

関連する問題