トリガーが実行されずフローが勝手に停止する件の対処方法

PowerAutomate

PowerAutomateのフローを運用していると、このようなメールが届くことがあります。

過去90日間にまったくフローを実行されていないことが判明しました。実行しない場合は30日で無効化します。」

このメールに気づかず放置していると…

「過去90日間にフローがまったく実行されていないことがわかりました。yyyy/mm/dd hh:mm:ssに無効化します。」

フローを勝手にオフにされてしまいました 汗

めったにトリガーされないけど重要な処理を担っているフローってありますよね?

今回は一定期間トリガーされないフローが停止してしまう理由とその対処法について解説していきたいと思います。

フローが勝手に停止してしまう理由

PowerAutomateには契約形態により様々な制限がかけられており、今回のトリガーされない場合のフロー停止に関する制限はマイクロソフトの公式サイトにて説明されています。

以下抜粋です。

トリガーが成功しなかったクラウド フローは期限切れになり、オフになります。 90 日間操作がないと、フローの作成者と共同所有者にメールが届きます。 30 日以内に行動を起こさない場合、フローはシステム上オフになり、作成者と共同所有者にメールで通知されます。

自動化フロー、スケジュールされたフロー、インスタント フローの制限事項 – Microsoft

90日+30日=120日でトリガーされないフローは自動で停止します。

ただし、これはフリー版、評価版、Microsoft365に付帯するPowerAutomateに関する制限事項であり、有償ライセンスのPowerAutomateには制限がかかりません

よって、一つの解決策として「有償版ライセンスをフローの実行アカウントに割り当てる」が挙げられます。

いやいや。これ以上お金かけられませんよね?

フローを更新して有効期限を延長するフローを作成する

ということで、お金をかけずにこの制限を解除する方法をご説明します。

やることはタイトルの通りです。

[マイフロー]から「+新しいフロー」をクリックし、「スケジュール済みクラウドフロー」をクリックします。

フロー名と繰り返し間隔を設定し、[作成]をクリックします。
今回は試しに毎週金曜日に実行されるよう設定しました。

トリガー「Recurrence」でタイムゾーン(UTCL09:00 大阪、札幌、東京)と設定時刻(時間・分)を設定します。

「+新しいステップ」をクリックし、「フローの取得」アクションを追加します。

環境で自テナントを選択、Flowは更新処理を行う対象のフローを選択します。

「+新しいステップ」をクリックし、「フローの更新」アクションを追加します。

以下の通り設定します。

設定項目説明設定例
環境自テナントを選択hachiware (default)
Flow更新対象のフローを選択投稿者のみ編集可能 REST API
フローの定義「フローの取得」アクションの出力「フローの表示名」を選択フローの表示名(動的なコンテンツ)
フロー定義「フローの取得」アクションの出力「フロー定義」を選択フロー定義(動的なコンテンツ)
フローの状態更新時のフローの状態を選択Started

現状のフローの表示名とフロー定義(フローの処理内容)を現状のフローから取得した内容で置き換えてしまおうというアクションです。

現状のフローを現状のフローの内容で置き換えるため、処理内容は一切変わらず更新日付だけが変わります

これでフローは完成です。

以下のようにシンプルなフローとなりました。

動作確認

トリガーとなる日時を経過した後、対象のフローのホーム画面を開き、変更日時を確認してみました。

スケジュールした時刻にフローの変更日時が更新されています。

これはどういうことかというと…

フローが変更されたことで問題となっている「トリガーされていない期間」がリセットされるということです!

この更新フローが動いた日時から120日間は勝手にフローがオフになることはありません(エラー発生を除く)。

この更新フローを定期的に動かせば、120日間の制限は回避できます。

まとめ

いかがでしたでしょうか。

この方法はマイクロソフトサポートから案内された公式な方法ですので、製品の仕様許諾上問題のない操作だと思っています。

製品の制限をその製品の機能で回避するとかなかなか面白いですよね!

コメント

タイトルとURLをコピーしました