自動化
PR

Power Automateのトリガー条件で無駄な実行を減らす方法

sanane
記事内に商品プロモーションを含む場合があります

はじめに

「ファイルが作成されるたびにフローが動くけれど、本当は特定の名前のファイルだけ処理したい」——こんなとき、フローの中に条件を置いて弾く方法もありますが、それだと毎回フローが起動して実行回数を消費し、実行履歴も無駄な記録で埋まってしまいます。

そこで使うのが「トリガー条件」です。条件に合わないイベントではそもそもフローを起動させないため、無駄な実行をゼロにできます。本記事では設定方法と、実際に「合致しないイベントは実行履歴にどう残るのか」を実測した結果を画面つきで解説します。

こんな人にオススメ
  • フローが余計なイベントで動きすぎて実行回数が気になる
  • 特定の条件を満たすときだけフローを起動させたい
  • トリガー条件の式の書き方(プロパティ名)が分からない

Power Automate の基本・料金・他の実例一覧はこちら。

あわせて読みたい
Power Automateとは?できること・使い方・始め方を実例40本で解説
Power Automateとは?できること・使い方・始め方を実例40本で解説

トリガー条件はどこで設定する?

トリガー条件は、トリガーの「設定」タブにあります。トリガーのカードを開き、「設定」→「トリガーの条件」セクションの「+ 追加」をクリックすると、式を入力するテキストボックスが1行表示されます。

トリガーの設定タブにあるトリガーの条件セクションの入口

入力する式は @ で始めるのがルールです(@ を付け忘れると式として評価されません)。ここでは OneDrive の「ファイルが作成されたとき」を例に、ファイル名が req_ で始まるときだけ起動する条件を設定します。

@startsWith(triggerOutputs()?['headers/x-ms-file-name'], 'req_')
トリガーの条件に式を入力したテキストボックス

トリガー条件で一番つまずくのがプロパティ名の指定ミスです。ファイル名は多くの解説で body/Name などと書かれますが、OneDrive トリガーの実データでは headers/x-ms-file-name に入っています。次の見出しの方法で、実機の生データから正しい名前を確認するのが確実です。

正しいプロパティ名の調べ方

式に使うプロパティ名は、いったんトリガー条件なしでフローを1回動かし、実行履歴の生データから確認するのが確実です。トリガー条件を付ける前に、まず普通に起動することを確認しておきましょう。

トリガー条件なしでフローが正常に起動したベースライン実行
  1. トリガー条件なしで1回実行する
  2. 実行履歴のトリガー(例:ファイルが作成されたとき)を開く
  3. 未加工の出力を表示する」を開き、headers の中に x-ms-file-name があることを確認する

正しい式を設定してから req_test1.txt を作成すると、条件に合致してフローが起動します。

req_で始まるファイルを作成してトリガー条件に合致し起動した実行

合致しないイベントは「実行履歴に一切残らない」

条件に合致しない memo_test2.txt を作成しても、実行履歴には新しい行が一切追加されません。「スキップ」や「失敗」としてすら記録されず、そもそもイベントが来なかったかのように扱われます

下は、合致ファイルの実行以降、非合致ファイルを投入して19分待っても新規実行が増えていない実行履歴です。

条件に合致しないファイルを投入しても実行履歴に新しい行が追加されていない

つまりトリガー条件は、実行回数のカウント自体が発生しないフィルターです。無駄な実行を本当にゼロにできます。

「条件アクション」で弾く方法との違い

同じ判定をフロー内の「条件」アクションでも実現できますが、挙動は大きく異なります。

条件アクションの場合、合致しなくても毎回フローは起動し、実行履歴に記録が残ります(分岐の「いいえ」側で止まるだけ)。

条件アクションで弾いた場合、フローは起動しFalse側で終了している実行結果
トリガー条件 vs 条件アクション
  • トリガー条件:合致しなければ起動しない。実行履歴に残らず、実行回数も消費しない
  • 条件アクション:毎回起動して履歴に残る。ログを残したい・複雑な分岐をしたい場合はこちら

まとめ

  • トリガーの「設定」→「トリガーの条件」に @ 始まりの式を入れる
  • プロパティ名は実機の生データで確認。 OneDriveのファイル名は headers/x-ms-file-name
  • 合致しないイベントは履歴に残らず実行回数も消費しないのが最大のメリット
  • ログを残したい・複雑な分岐が必要なら「条件」アクションを使う

フロー内で判定する「条件」アクションの詳しい使い方や、うまく動かない時の対処はこちらもどうぞ。

あわせて読みたい
Power Automateの条件分岐の使い方|条件とスイッチの違い・型のワナ
Power Automateの条件分岐の使い方|条件とスイッチの違い・型のワナ
あわせて読みたい
Power Automateでフローが動かない時の対処法|エラー別の原因と直し方
Power Automateでフローが動かない時の対処法|エラー別の原因と直し方
記事URLをコピーしました