作業キュー アクション

Power Automate の作業キューを使用すると、プロセスに関連するデータを保存できるほか、複雑なプロセスと自動化を分離し、非同期で通信させる手段を提供します。

作業キューは、自動化の効率性、スケーラビリティ、回復性を向上させる上で重要な役割を果たし、作業の優先順位付けに役立ちます。 作業キューを使用すると、デジタル ワーカー、ヒューマン ワーカー、または統合によって処理されているかどうかに関係なく、最も優先度の高い項目を最初に完了できます。

注意

  • 作業キュー関連アクションの最初のセットに対する運用レベルのサポートには、Power Automate デスクトップ バージョン 2.37 以降が必要です。
  • デスクトップ用 Power Automate の作業キュー アクションは、Power Automate サブスクリプション が必要なプレミアム機能です。
  • 現在、作業キュー項目の処理作業キュー項目の更新アクションのみ、データの消失防止 (DLP) ポリシーにより、分類し、許可または制限できます。他のアクションも間もなく可能になります。 クラウド フローベースの作業キューの使用は、DLP ポリシーによって制限できないことに注意してください。

作業キュー項目を処理する

作業キュー項目を処理するアクションは、コンピューターが 1 つ以上の作業キュー項目を処理する準備ができていることをキュー オーケストレーターに示します。 新しい項目を要求するユーザー コンテキストは、作業キューを処理するために、作業キューおよび作業キュー項目テーブルに対する十分な権限を持っている必要があります。

作業キュー項目を処理するアクションのスクリーンショット。

前のアクションで参照された 作業キュー は、キュー オーケストレーターによって使用され、その作業キュー内で キュー登録済み 状態にある、次に使用可能な項目を決定します。 デスクトップ フローが、このアクションがレンダリングする作業キュー項目を処理するループ内のアクションを処理するとき、プロパティ .Value とともにアクションに指定した変数を利用して、値を呼び出すことができます。 この場合、変数 %WorkQueueItem.Value% を使用して作業キュー項目の値を呼び出すことができます

重要

「行のフィルター」フィールドに FetchXML 式を指定することで、キューに追加された品目に対する既定の作業キュー オーケストレーターの FIFO ロジックをバイパスできます。 これにより、カスタムのデキュー順序を設定し、フィルター式が指定されていない場合に自動的に適用されるアイテムの有効期限やその他の設定を無視できます。

Processworkqueueitemaction

作業キュー項目のアクションを処理する アクションには次の引数が必要です。

入力パラメーター

引数 オプション 受入 既定の値 プロパティ
作業キュー いいえ テキスト 処理する項目を含む作業キューの作業キュー ID。
行のフィルター はい テキスト 作業キューから項目を取得するために使用する FetchXML クエリ式。
作業キューの自動再試行構成を上書きする はい ブール値 False 有効にすると、IT Exceptions再試行の最大回数を設定または上書きできるフィールドが表示されます。
再試行回数の上限 いいえ テキスト値、数値 上書きされない場合、作業キュー レコードで定義されたデフォルトの最大再試行回数が使用されます。 IT Exceptions の許容される最大試行回数。 このパラメータを使用すると、再試行回数をより高い値またはより低い値に調整したり、回数を 0 に設定して再試行メカニズムを無効にしたりすることもできます。

生成される変数

引数 Type プロパティ
WorkQueueItem いいえ 処理中の作業キュー項目に保存されている情報

例外

例外 プロパティ
作業キューが見つからない 作業キュー パラメーターに入力された値が無効です。
作業キューが一時停止または停止中 作業キューは一時停止または停止されており、これはアイテムを処理するときに有効な状態ではありません。
FetchXML が無効 無効な FetchXML 式が指定されました。
作業キューを処理できませんでした 不正なリクエスト - クエリ構文のエラー。

FetchXML クエリとは何ですか?

Microsoft Dataverse FetchXML は、 Dataverse データベースからデータを取得するために使用される言語です。 簡単に作成、使用、理解できるように設計されています。 たとえば、オーケストレーターに、先入れ先出し (FIFO) とは異なる順序で、特定の有効期限内にアイテムを処理するように要求する場合があります。

FetchXML クエリのサポートを作業キューの項目の処理に限定するため、FetchXML の用語および式のうち、限定されたセットのみがサポートされています。 これらの用語には、フィルター、条件、順序付け式が含まれますが、すべて作業キュー項目テーブル (workqueueitem) に制限されます。 Queued 状態にあるアイテムのみが返されます。

FetchXML クエリの例

以下は、name でフィルター処理し、最初に期限切れになるレコード (FEFO) で結果を並べ替える方法を示すクエリ式の例です。

<filter type="and">
  <condition attribute="expirydate" operator="on-or-before" value="2024-10-18" />
  <condition attribute="name" operator="eq" value="MyNonUniqueNameString" />
</filter>
<order attribute="expirydate" descending="false" />

クエリサポートの詳細と参照データ

  • 使用可能な クエリ演算子 のリスト。on-or-before、between、last-month などの演算子が含まれます。
  • 作業キュー項目 テーブルで使用可能な属性のリスト。

作業キュー項目を更新する

作業キュー項目を更新するアクションを使用すると、ユーザーは選択した作業キュー項目の状態と処理結果を変更できます。

作業キュー項目を更新するアクションのスクリーンショット。

Updateworkqueueitemaction

作業キュー項目のアクションを更新する アクションには次の引数が必要です。

引数 オプション 受入 既定の値 プロパティ
作業キュー項目 いいえ Text キュー オーケストレーターによって以前に返された作業キュー項目変数
状態 いいえ 処理済み、汎用例外 処理済み オプションのリストから状態を使用して、処理中の作業キュー項目を更新します。
処理中のメモ はい テキスト 処理中のキュー項目に追加するカスタムの処理中のメモまたは値。
処理中のメモを消去 はい ブール値 False 有効にすると、この画面の処理中のメモのフィールドが非表示またはクリアされ、この項目に対して以前に取得されたすべての処理中のメモがデータベースから削除されます。

例外

引数 プロパティ
作業キュー項目が見つかりません 処理中の作業キュー項目が削除されているか、呼び出し元のキューに属していません。
作業キュー項目が保留中 処理中の作業キュー項目には、キュー オーケストレーターで on hold の状態が含まれており、更新できなくなりました。
作業キュー項目を更新できませんでした 更新中の作業キュー項目で予期しないエラーが発生しました。 詳細については、エラー メッセージを確認してください。

作業キュー項目を追加する

作業キュー項目を追加するアクションでは、デスクトップ フロー ユーザーは、フロー ポータルで設定されている作業キューに作業キュー項目を追加できます。

作業キュー項目を追加するアクションのスクリーンショット。

Enqueueworkqueueitemaction

作業キュー項目の追加 アクションには次の引数が必要です。

入力パラメーター

引数 オプション 受入 既定の値 プロパティ
作業キュー いいえ テキスト値 項目を追加する作業キュー項目
優先度 いいえ 高、中、低 正常 作業キュー項目を設定する優先度
氏名 いいえ テキスト値、数値 新しい作業キュー項目のカスタムな名前または ID
入力 いいえ テキスト値、数値 処理する値列に属するデータ
有効期限 はい Datetime キュー項目を期限切れにするように設定された datetime 値。それ以外の場合は、キューに設定されている場合はデフォルト値が採用されます
処理中のメモ はい テキスト値、数値 新しいキュー項目に追加されるカスタム処理メモ
一意の ID または参照を設定する はい テキスト値、数値 有効にすると、このキュー内で一意の値を指定する必要があります。 空のままにすると、system-<GUID> 形式の一意の値がシステムによって自動的に提供されます

生成される変数

引数 Type プロパティ
WorkQueueItem いいえ 追加する作業キュー項目に保存されている情報

例外

引数 プロパティ
作業キューが見つからない 作業キュー パラメーターに入力された値が無効です
項目を作業キューに追加できませんでした 作業キュー項目を作業キューに追加できませんでした。 不正なリクエスト - クエリ構文のエラー

複数の作業キュー項目を追加する

複数の作業キュー項目の追加 アクションを使用すると、作業キュー項目データ テーブルとして提供されたデータに基づいて、1 つ以上の作業キュー項目を作業キューに追加できます。

作業キュー項目の追加アクションを示すスクリーンショット。

このアクションには、1 つ以上の作業キュー項目を保持するカスタム データ テーブルが必要です。 データ テーブルには 8 つの列があり、次のスキーマに準拠している必要があります。

列名 プロパティ 必須 許可値
名前 項目の名前。 いいえ すべての英数字の文字列
入力 作成または更新した品目の詳細。 はい すべての英数字の文字列
有効期限 アイテムの有効期限までの期間を指定します。 いいえ 日付と時刻の値
処理中のメモ アイテムに関連する処理メモのこと。 いいえ すべての英数字の文字列
優先度 品目の優先度レベル。 はい 100 (高)、200 (標準)、300 (低) のいずれかの数値値
一意の参照 アイテムの一意の識別子または参照値。 いいえ 任意の一意の英数字文字列または参照
状態 インジェストの項目の状態。 はい ゼロ (キュー済み)、1 (保留中) のいずれかの数値値
遅延期間 作業キュー項目が処理から無視されるべき日時を指定します。 いいえ 日付と時刻の値

データテーブルを作成するための Robin コードスニペット

以下の例は、Power Automate デスクトップ デザイナー ウィンドウに直接コピーして貼り付けることができる、ロビンコード (従来のフローで使用される) のスニペットです。 このスニペットは、予想されるフィールド セットを含む 新しいデータ テーブルの作成 アクションをフローに追加します。

Variables.CreateNewDatatable InputTable: { ^['Name', 'Input', 'Expires in', 'Processing notes', 'Priority', 'Unique reference', 'Status', 'Delay until'], [$'''''', $'''''', $'''''', $'''''', $'''''', $'''''', $'''''', $''''''] } DataTable=> DataTable

データ テーブルを作成するための PowerFx コード スニペット

以下の例は、Power Automate デスクトップ のデザイナー ウィンドウに直接コピーして貼り付けることができる PowerFx のコード スニペットです。 このスニペットは、予想されるフィールド セットを含む 新しいデータ テーブルの作成 アクションをフローに追加します。

Variables.CreateNewDatatable InputTable: { ^['Name', 'Input', 'Expires in', 'Processing notes', 'Priority', 'Unique reference', 'Status', 'Delay until'], [$fx'', $fx'', $fx'', $fx'', $fx'', $fx'', $fx'', $fx''] } DataTable=> DataTable

Batchenqueueworkqueueitemsaction

作業キュー項目を複数追加する アクションには、次の引数が必要です。

入力パラメーター

引数 オプション 受入 既定の値 プロパティ
作業キュー いいえ テキスト値 項目を追加する作業キュー項目
作業キュー項目のデータ はい Datatable 作業キューに追加される作業キュー項目を保持するカスタム データ テーブル

生成される変数

引数 タイプ 既定値 プロパティ
FailedWorkQueueItems いいえ 有効 失敗があった場合、このオブジェクトは挿入に失敗した項目のインデックスとエラー コードを保持します。 返されるインデックスは、複数の作業キュー項目を追加する アクションの指定された作業キュー データ テーブル内の項目の位置 (インデックス) です。
HasFailedItems いいえ 有効 作業キュー項目データの問題によりアクションで取り込みエラーが発生したかどうかを示すインジケーター。
SuccessfulWorkQueueItems いいえ いいえ 作業キューに正常に追加されたインデックスと作業キュー項目を保持するカスタム オブジェクト。

例外

引数 プロパティ
作業キューが見つからない 作業キュー パラメーターに入力された値が無効です
作業キューが一時停止または停止中 作業キューが一時停止または停止されているため、作業キュー項目を作業キューに追加できませんでした。
作業キュー項目のリストをキューにバッチで追加できませんでした 要求または通信エラーのため、作業キュー項目を作業キューに追加できませんでした。

遅延した項目を再キューに入れる

遅延した項目を再キューに入れる アクションを使用すると、ユーザーはデスクトップ フローで処理中のキュー項目を元のキューに再度追加できます。 さらに、キューに入れられた項目は、定義された時間まで保留および解放することができます。

作業キュー項目のアクションを再作業するスクリーンショット。

Requeueworkqueueitemaction

遅延を伴う項目の再キュー アクションには、以下の引数が必要です。

入力パラメーター

引数 オプション 受入 既定の値 プロパティ
作業キュー項目 いいえ 作業キュー項目 項目を追加する作業キュー項目
延期期限 いいえ DateTime 値 正常 キュー項目を遅延させるために適用される datetime 値
有効期限 はい DateTime 値 再キューに入れられる項目のカスタム有効期限
処理中のメモ はい テキスト値、数値 新しいキュー項目に追加されるカスタム処理メモ
処理中のメモを消去 はい ブール値 False 有効にすると、この画面の処理中のメモのフィールドが非表示またはクリアされ、この項目に対して以前に取得されたすべての処理中のメモがデータベースから削除されます

例外

引数 プロパティ
作業キューが見つからない 作業キュー パラメーターに入力された値が無効です
作業キュー項目が見つかりません キュー項目の値が無効です
作業キュー項目を再キューできませんでした 作業キュー項目を作業キューに追加できませんでした。 不正なリクエスト - クエリ構文のエラー

作業キュー項目の処理中のメモを更新する

作業キュー項目の処理中のメモを更新する アクションを使用すると、ユーザーは選択した作業キュー項目の状態やその他のプロパティを変更せずに、処理中のメモを更新またはクリアできます。

作業キュー項目の処理中のメモを更新するアクションのスクリーンショット。

updateprocessingnotesaction

作業キュー項目の処理中のメモを更新するアクション アクションには、次の引数が必要です。

引数 オプション 受入 既定の値 プロパティ
作業キュー項目 いいえ テキスト キュー オーケストレーターによって以前に返された作業キュー項目変数
処理中のメモ はい テキスト 処理されたキュー項目に追加するカスタムの処理結果または値
処理中のメモを消去 はい ブール値 False 有効にすると、この画面の処理中のメモのフィールドが非表示またはクリアされ、この項目に対して以前に取得された処理中のメモがデータベースから削除されます

例外

引数 プロパティ
作業キューが見つからない 項目に関連付けられた作業キューは削除されたか、アクセスできなくなりました
作業キュー項目が見つかりません 作業キュー項目が無効です
処理結果を追加できませんでした 更新中の作業キュー項目で予期しないエラーが発生しました。 詳細については、エラー メッセージを確認してください。

フィルターで作業キュー項目を取得する

フィルターで作業キューの品目を取得するアクションを使用すると、FetchXML フィルター式に基づいて、1つまたは複数の作業キューの項目を取得できます。

フィルターによる作業キュー項目の取得アクションのスクリーンショット。

Getworkqueueitemsaction

フィルターによる作業キュー項目の取得 アクションには、次の引数が必要です。

入力パラメーター

引数 オプション 受入 既定の値 プロパティ
作業キュー いいえ テキスト アイテムを取得する作業キュー
行のフィルター いいえ テキスト 作業キューから項目を取得するために使用する FetchXML クエリ式
返される行 いいえ 回数 5000 オーケストレーターによって返される作業キュー項目の最大数

生成される変数

引数 タイプ 既定値 プロパティ
WorkQueueItems いいえ 有効 フィルター式に一致する作業キュー項目のリスト。

例外

引数 プロパティ
作業キュー 項目を追加する作業キュー
行のフィルター 作業キューから項目を取得するために使用する FetchXML クエリ式。
返される行 オーケストレーターによって返される作業キュー項目の最大数 (デフォルトは 5000)。

FetchXML クエリとは何ですか?

Microsoft Dataverse FetchXML は、 Dataverse データベースからデータを取得するために使用される言語です。 簡単に作成、使用、理解できるように設計されています。 たとえば、Dataverse に対して、IT Exception 状態にあるすべての作業キュー項目のリストを取得するようリクエストしたい場合などです。

FetchXml クエリのサポートを作業キュー項目の取得に制限するために、FetchXml 用語と式の限定されたセットのみをサポートします。 これらの用語と式には、属性、フィルター、条件、順序付け式が含まれますが、すべて作業キュー項目テーブル (workqueueitem) に限定されます。 作業キュー項目テーブルから返すプロパティと、希望する並べ替え順序を明示的に指定する必要があります。

FetchXML クエリの例

次の例は、複数のプロパティを取得し、IT Exceptions としてマークされたエラー項目をフィルター処理し、最初に期限切れになるレコード (FEFO) で結果を並べ替える方法を示すクエリ式です。

<attribute name="statecode" />
<attribute name="uniqueidbyqueue" />
<attribute name="createdon" />
<attribute name="completedon" />
<attribute name="workqueueitemid" />
<attribute name="executioncontext" />
<attribute name="name" />
<attribute name="expirydate" />
<attribute name="processingresult" />
<attribute name="priority" />
<attribute name="statuscode" />
<attribute name="modifiedon" />
<attribute name="processingstarttime" />
<attribute name="retrycount" />
<attribute name="requeuecount" />
<attribute name="input" />
<attribute name="delayuntil" />
<filter type="and">
    <condition attribute="statecode" operator="eq" value="4" />
    <condition attribute="statuscode" operator="eq" value="5" />
    <condition attribute="expirydate" operator="on-or-before" value="2024-10-18" />
</filter>
<order attribute="expirydate" descending="false" />

クエリサポートの詳細と参照データ

  • 使用可能な クエリ演算子 のリスト。on-or-before、between、last-month などの演算子が含まれます。
  • 作業キュー項目 テーブルで使用可能な属性のリスト。

状態 (statecode)

状態 Code プロパティ
キューに設定 0 項目はキュー
処理中 1 項目は処理されています
処理済み 2 項目は処理されました
OnHold 3 項目は保留中
エラー 4 項目でエラーが発生しました

ステータス (statuscode)

ステータスの理由 Code プロパティ
キューに設定 0 項目はキュー
処理中 1 項目は処理されています
処理済み 2 項目は処理されました
OnHold (一時停止) 3 項目は保留中 (一時停止中)
GenericException 4 アイテムに一般的な例外が発生しました
ITException 5 アイテムに IT 例外が発生しました
BusinessException 6 アイテムにビジネス例外が発生しました
DeadLetter 7 項目は保留中
ProcessingTimeout 8 アイテム処理がタイムアウトしました