問題タブ [azure-durable-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1057 参照

azure - Azure Durable Functions の実行履歴を管理する方法

実行に Durable Functions (v2) を使用する ETL プロセスを開発しています。基本的なプロセスは次のとおりです。

  1. アクティビティを使用して、処理する製品コードのリストを取得します
  2. メイン オーケストレーターから N 個のサブオーケストレーションにファンアウトして、複数の統合データ ソースを単一のオブジェクトにマージし、Cosmos DB で更新します。

メインのオーケストレーションは、一度に 1 つのインスタンスのみが実行されるように、シングルトン インスタンス パターンを使用して実装されます。

正常に動作していますが、基礎となる TaskHub テーブル ストレージの実行履歴は、このプロセスの実行ごとに大幅に増加します。このプロセスは正時に実行され、基礎となるテーブルに大量のデータが生成されるため、明らかにメンテナンス上の懸念があります。 TaskHub テーブル。

このプロセスの実行履歴を維持して、大きくなりすぎないようにする方法についてのガイダンスを見つけるのに苦労しています。私はContinueAsNewAsync()API を認識していますが、これはプロセスを再度実行することを強制するため、私の設計にはあまり適していません。実行履歴をクリアするために使用できる API に関する情報も見つかりません。

別のタイマートリガー機能を使用して、テーブルを直接手動でクリアすることは問題ですか? 永続関数テーブルのスキーマがいつでも変更される可能性があることを考えると、これは少しハック/揮発性に感じます。