Dataverse でクラウド フロー実行履歴を管理する (プレビュー)

[この記事はプレリリース ドキュメントであり、変更されることがあります。]

Dataverse のクラウド フロー実行履歴を使用すると、Dataverse の拡張性を適用して、クラウド フロー実行の結果を大規模に追跡できます。 この機能により、役割ベースのアクセス制御 (RBAC) を含む Dataverse の共通データ アーキテクチャのパワーを利用して、FlowRun データを管理することができます。 Dataverse で定義されているソリューション クラウド フローのみ、実行履歴を Dataverse に保存できます。

この機能の一部として、各クラウド フロー実行にはテーブル FlowRun にエントリを持ちます。 この機能は、Dataverse の非リレーショナル データベース、エラスティック テーブル を利用して、クラウド フローの実行履歴を保存します。

Dataverse のクラウド フロー実行履歴はオートメーション センター によって使用され、Power Automate 全体の自動化プロセスの包括的な監視とトラブルシューティングのエクスペリエンスを提供します。

重要

  • これはプレビュー機能です。
  • プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が一足先にアクセスし、そこからフィードバックを得ることができます。
  • この機能は現在展開中であるため、ソブリン クラウド地域ではまだ利用できません。

クラウド フローの実行要素

FlowRun テーブルには、次のようなクラウド フロー実行の主要な要素が含まれています:

要素 プロパティ
件名 フロー実行の主キーとロジック アプリ ID。
開始時刻 クラウド フローの実行がトリガーされたとき。
終了時刻 クラウド フローの実行が終了したとき。
実行の継続時間 クラウド フローの実行を終了するまでの時間 (秒単位)
状態 フロー実行の最終結果 (成功失敗、または キャンセル)。
トリガーの種類 このフロー実行の トリガー タイプ (自動スケジュール、または 手動)。
エラー コード フロー実行から返されたエラー コード。
Error message 該当する場合、フロー実行から返される詳細なエラー メッセージです。
所有者 フローの所有者。
ワークフロー名 クラウド フローの表示名。
ワークフロー ID 特定のクラウド フローの WorkflowID,
IsPrimary このフロー実行にそれをトリガーする親クラウド フローがあるかどうかを示すバイナリ値。
親実行 ID このレコードが子フロー用の場合、親クラウド フロー実行インスタンスの名前。
パーティション ID エラスティック テーブル インスタンス内のこのユーザーのパーティション ID。
有効期限 この実行レコードが自動的に削除されるまでの時間 (秒)。

詳細は、標準 Dataverse APIDataverse コネクタ、または Maker Portal の テーブル ビューから直接表示、更新できます。

この機能はエラスティック テーブル上に構築されているため、パフォーマンスを最適化するために、クラウド実行履歴データを特定の論理パーティションに保存します。 実行履歴データはユーザーに基づいてパーティション分割されるため、組織内の各ユーザーには専用のパーティションが与えられます。

FlowRun データは Dataverse データベース ストレージ容量 を使用します。 環境全体のストレージ使用状況は、Power Platform 管理センターで監視できます

FlowRun レコードのストレージ使用量

デフォルトでは、フロー実行データは 28 日間 (2,419,200秒) 保存されます。 実行を保存できる期間を変更したい場合は、Dataverse でバックアップされた環境の Organization テーブルでフロー実行の Time to live (秒) を更新します。 環境のストレージ容量に応じて、これらの実行レコードのストレージの長さを調整できます。

組織テーブルの FlowRunTimeToLiveInSeconds 値 は、 PowerApps テーブル ブラウザー または Dataverse Web APIを使用して変更できます。

クラウド フロー実行履歴の保存をオンまたはオフにする

組織テーブルの FlowRunTimeToLiveInSeconds 値 が変更されると、新しい FlowRun レコードの有効期間はその期間保持されます。 この値が下がると、時間の経過とともに FlowRun レコード数と使用されるストレージを削減できます。

Dataverse で FlowRun エンティティ時間を設定する

組織テーブル内の FlowRunTimeToLiveInSeconds 値 をゼロに設定すると、新しい FlowRun レコードの取り込みがすべて停止します。

Power Platform 管理センターで FlowRun エンティティ時間を設定する

組織テーブルの FlowRunTimeToLiveInSeconds 値 は、Power Platform 管理センター環境エクスペリエンス で設定できます。 環境で使用される FlowRun エンティティ の有効期間を選択するには:

  1. Power Platform 管理センターにサインインします。
  2. 環境に移動します。
  3. 目的の環境については、設定 ページを開きます。
  4. 製品>機能 の順に選択します。
  5. Dataverse のクラウド フロー 実行履歴 で、FlowRun エンティティの有効期間 保持値を 28 日 (デフォルト)、14 日、7 日、または無効に設定します。

カスタム TTL 値を設定すると、より長い、またはより詳しく特定された数のクラウド フロー実行履歴を保存できます

Power Platform 管理センター エクスペリエンスでは利用できない特定の Time To Live (TTL) 値が必要な場合は、その値を 組織テーブルの FlowRunTimeToLiveInSeconds の値 として直接設定できます。

直ちに FlowRun レコード数を減らす

環境のストレージが不足している場合、顧客は一連の FlowRun レコードの TTLInSeconds 値を設定して、データベース領域をクリーンアップすることを選択できます。 その後、レコードは自動的にクリーンアップされ、1 ~ 2 分以内に完全に削除されます。 レコードは削除すると回復できないため、不要であることを確認してください。

Time To Live (TTL) 値の計算

Organization.FlowRunTimeToLiveInSecondsFlowRun.TTLInSeconds の有効期間 (TTL) 値は秒単位で指定されます。 以下の表には、Organization および FlowRun テーブルで使用できる共通の値が含まれています。

日数
1 日 86,400 秒
3 日 259,200 秒
7 日 604,800 秒
14 日 1,209,600 秒
28 日 2,419,200 秒
60 日 5,184,000 秒

FlowEvent データを使用して FlowRun データの完全性を可視化する

FlowRun レコードは、多くの理由により不完全になる可能性があります。 FlowEvent テーブルは、実行がスキップされ、データ セットが不完全であることを示す信号を提供するために使用されます。 信号がない場合でも、データセットが完全であるというわけではありません。

FlowEvent レコードは、 PowerApps テーブル ブラウザ または Dataverse Web API を使用して表示できます。 関連するすべてのレコードの FlowEvent.EventType 値は「FlowRunIngestion」であり、FlowEvent.EventCode 値はイベントを説明します。

以下の表は、FlowRun データが完了していないことを知らせるために使用される可能性のある FlowEvent.EventCode 値のリストです:

EventCode Reason
isFlowRunIngestionECSDisabled サービス構成上、クラウドフローの実行履歴が Dataverse に保存されないため、クラウドフローのデータが表示されません。 ECS サービス構成は自動的に設定されるため、この状態では管理者が取り込み動作を変更する方法はありません。
TtlSettingEqual0 現在の環境のクラウド フロー実行の TTL (有効期間) 構成は、データを保持しないように設定されています。 その結果、一部のクラウド フロー実行履歴が失われる可能性があります。 この状態は、Organization.FlowRunTimeToLiveInSeconds がゼロに設定されている場合に発生します。
IngestionDisabledByOrgSettings 環境設定により、クラウドフローの実行履歴が Dataverse に保存されないため、クラウドフローの実行履歴の一部が欠落する可能性があります。 この現象は、Organization.FlowRunTimeToLiveInSeconds が過去にゼロに設定されていた場合に発生します。
ElasticTableStorageCapacityReached ストレージ容量が Dataverse に達したため、クラウド フローのデータ同期が一時停止しています。
ElasticTablePartitionLimitReached Dataverse ストレージ パーティションの上限に達したため、クラウド フローのデータ同期が一時停止しました。
IngestionRateDataLoss クラウド フローの実行履歴の一部は、プレビュー中にこの環境で大量に実行されたため、欠落している可能性があります。
FlowRunsEventLoadingFailed 現在の環境ではクラウド フロー実行のイベントを読み込むことができません。 その結果、過去のクラウド フローの実行データが利用できない場合があります。
FlowRunsTTlSettingFailedMessage クラウドフローの実行に関する環境の TTL (time-to-live) 設定を取得できません。 その結果、過去のクラウド フローの実行データが利用できない場合があります。
ElasticTableNoRoleForUser 1 つまたは複数のフローを所有するユーザーが Dataverse の FlowRun テーブルに対する読み取り権限を持っていないため、一部のクラウドフローの実行履歴が Dataverse に保存されません。 その理由は、そのユーザーを所有者として設定できないためです。

既知の制限

  • FlowRun レコードはテーブルに書き込まれるときに特定の所有者に割り当てられるため、共有フローの共有 FlowRun レコードの概念は現在サポートされていません。
  • フロー所有者は、Dataverse に自分のランレコードを格納するために、FlowRun テーブルへの少なくとも読み取りアクセスが必要です。 システムは FlowRun レコードをテーブルに書き込み、その後、所有権がフローのプライマリ所有者に割り当てられます。 フローのプライマリ所有者に FlowRun テーブルへの読み取り権限がない場合、FlowRun レコードは保存されず、ElasticTableNoRoleForUserFlowEvent.EventCodeFlowEvent テーブルに表示されます。 この状況を修正するには、フロー所有者に FlowRun テーブルの読み取り権限があることを確認します。
  • 現在、エラスティック テーブル内のパーティションあたり 20 GB の制限があります。 制限に達すると、その特定のユーザーに対してのみレコードの挿入をさらに実行すると失敗します。
  • ユーザーが実行率の高いフローを多数持っている場合、FlowRun レコードが調整され、スキップされる可能性があります。 スロットルが発生すると、実行がスキップされ、データ セットが不完全であることを通知するエントリが FlowEvent テーブルに作成されます。

注意

クラウド フロー実行レコードの挿入を強化するために使用される基盤となるデータ ストリームはトランザクションではないため、100% ロスレスではありません。 このデータ ストリームの小さなデータ損失は、一時的で繰り返しのないサービスの問題によって発生する可能性があります。 欠落しているレコードは FlowEvent では表されません。 Power Automate ポータルのフロー詳細内のフロー実行履歴はトランザクションであるため、実行の損失のないビューが提供されます。

よくあるご質問

すべての環境で FlowRunTimeToLiveInSeconds 値がゼロになっているのはなぜですか?

すべての環境で、Organization テーブルの FlowRunTimeToLiveInSecondsの値が 0 である場合、これらの状況に該当する可能性があります:

  1. FlowRun データが利用可能でない場合、利用可能なDataverse データベースのストレージ容量が不足していたため、お客様の環境は自動的に FlowRun 取り込みが有効にならなかった可能性があります。
  2. FlowRun データが以前に利用可能となっていた場合、管理者 によって新しいレコードの取り込みがオフになっている可能性があります。

これはいつ一般公開 (GA) される予定ですか?

現在、この機能を パブリック プレビュー から一般提供 (GA) に移行するための確約されたタイムラインはありません。 調整を必要とするアーキテクチャ上およびパフォーマンス上の制限により、FlowRun履歴にギャップが生じる可能性があります。 ただし、完全なフロー実行履歴データの重要性は理解しています。 私たちは、将来この機能をGAに移行できるように、ロスレス同期の戦略を積極的に評価しています。

FlowRunデータは、メーカー ポータルの オートメーション センター (プレビュー) によって使用されます。 Power Automate FlowRunデータには プレビュー フェーズ中に特定のギャップが生じる可能性がありますが、このデータをスタンドアロン機能としても オートメーション センター の一部としても パブリック プレビュー でアクセス可能にすることには価値があります。

クラウドフローの実行履歴を Dataverse に書き込むと、Power Platform のリクエスト クォータを使用しますか?

クラウドフローの実行履歴を FlowRun データとして Dataverse に書き込んでも、Power Platform リクエスト制限 にはカウントされません。 その FlowRun データを読み取るために実行される API は、Power Platform リクエスト制限にカウントされます。

このデータは Application Insightsで利用可能なデータとどのように比較されますか?

管理者はApplication Insights を設定し、Power Automate のフロー実行から監視データを提供することができます。 Application Insights データ:

  • FlowRun データの取得にデータパイプラインの問題があったため、より完全なものとなりました。
  • 実行されたトリガーとアクションに関する情報が含まれているため、より詳細です。
  • 相関識別子により Power Apps と Dataverse Application Insights データと相関可能。

オートメーション センター