Power Automateの警告によるフロー無効化を防ぐ方法
2022-03-14
azblob://2022/11/11/eyecatch/2022-03-14-power-automate-prevent-invalidation-000.jpg

こんにちは、あおいです。最近の趣味はPythonで株価分析です。当然、それだけで稼げるはずもないですがね。株の世界は甘くない。

さて、Power Automateを利用していると以下のような警告メールが届くことがあります。

Microsoftの公式ドキュメントによると、無料版および試用版は60日間、Microsoft365プランは90日間にわたってフローが実行されないと無効化されてしまいます。自動化フロー、スケジュールされたフロー、インスタント フローの制限事項 | Microsoft Docs

運用上、1年に1回や半年に1回の頻度で利用したいフローはあるでしょう。勝手に無効化されては困ります。

対策として挙げられるのは以下の2点です。

・ライセンスのグレードアップをする(価格に関する記事)

・対象のフローのトリガーをスケジュールトリガーに変更する

とは言え、お金はかけたくないし、トリガーを安易に変更したくないですよね。

こちらの記事で無償の範囲内で回避する実装方法が紹介されてるので参考にしてみてください。Power Automate 気になる「警告!フローが実行されていません」メールとフローの無効化&現時点の対処法

そこで、今回は記事の終わりに触れられている複数フローで対策する場合の実装方法を考えてみました。

まず、Power Automateで[スケジュール済みクラウドフロー]をトリガーとします。実行頻度は月1回にして、タイムゾーンを日本に設定します。開始時刻の最後のZは不要です。

[Power Automate管理]コネクタから[フローを管理者として一覧表示]アクションを選択します。workflow関数から[JSONの解析]で抽出した環境の値をセットします。

workflow関数で取得できる情報については以下の記事を参考にしてみてください。Power Automateでループ処理途中にフロー実行を終了する方法

現在の環境で無効化されてしまったフローを絞り込みます。

[データ操作]コネクタの[アレイのフィルター処理]アクションを選択します。差出人[動的なコンテンツからvalueを選択]、フィルター[動的なコンテンツから左辺にフローの状態・右辺にStoppedを入力]など各項目を設定します。

[データ操作]コネクタの[選択]アクションを選択します。開始[動的なコンテンツから本文を選択]、マップ[動的なコンテンツからフロー名・environmentName]など各項目を設定します。

[コントロール]コネクタの[Apply to each]アクションを選択します。ループ処理対象の項目に動的なコンテンツから出力を設定します。

[Power Automate管理]コネクタから[フローを有効にする]アクションを選択します。環境・Flowの項目に[選択]アクションで取得した値を設定します。

これで完成です!

正常な動作をするか実際に手を動かして確かめてみてください!

今回はPower Automateの警告によるフロー無効化を防ぐ方法を紹介させていただきました。少しでもお役に立てれば幸いです。