【Power Automateではじめる業務の完全自動化】実務直結のノウハウが満載! 本連載では、企業へのMicrosoft 365の導入や活用支援を手がける著者・太田浩史氏による、Power Automateを使った業務自動化のノウハウを提供します。
実行時の失敗に備えた処理を組み込む
どれだけ入念に確認したとしても、接続する連携先のクラウドサービスなどの一時的な不具合などによっても、フローの実行が失敗することがあります。これに対処するために、アクションが失敗したときの処理をフローに組み込む方法を知っておきましょう。
再試行ポリシーを確認する
フローのアクションは、実行が失敗すると自動的に再試行を繰り返すように[再試行ポリシー]が設定されています。再試行ポリシーに対応するのは、状態コードが「408」「429」「500番台」の失敗に限ります。これは主に、Power Automateや接続先のサービスに発生している何らかの高負荷状態や一時的な不具合によって起こり得る失敗に対応するものです。設定を確認するには、アクションのメニューから[設定]を開きます。
再試行ポリシーの設定
既定の設定では[再試行ポリシー]が[既定]になっており、アクションの実行に失敗したときには再試行を2回行います。2回目の再試行も失敗した場合、アクションの実行自体が失敗したと判断されます。
ほとんどの場合には、[既定]から変更する必要はありません。ただし、失敗する頻度が高いアクションがある場合などには再試行回数を増やすことができます。一般的に[指数間隔]を利用する方が、接続先のサービスに対する再試行時の負荷を下げることができるため有効です。
再試行ポリシーの設定の種類
種類 | 説明 |
---|---|
既定 | 最大2回の再試行を行う |
なし | 再試行を行わない |
指数間隔 | 最大で指定した回数まで再試行を行う。試行回数を重ねるごとに、試行間隔が徐々に大きくなる |
固定間隔 | 最大で指定した回数まで再試行を行う。試行間隔は常に一定 |
実行条件の構成とは
フローの実行が失敗することによる業務への影響を少なくするためにも、あらかじめ備えておくことも必要です。例えば、アクションの実行が失敗した場合に、即座にメール通知を送るようにフローを作成しておくこともできます。
このようなアクションが失敗した場合の処理を加えるには、アクションの設定にある[実行条件の構成]を利用します。[実行条件の構成]を利用すると、その1つ前のアクションの実行結果によって、アクションを実行するかどうかを設定できます。これを利用して、特定のアクションが失敗した場合にのみ実行されるアクションをフローに加えることができます。
実行条件の構成を使ってアクションの失敗に備える
[実行条件の構成]を利用したフローの作成方法を、具体的に紹介していきます。LESSON 16で作成した、OneDrive for BusinessのファイルをPDFに変換してSharePointに保存するフローを基に、アクション失敗時の処理を追加してみます。例として、[パスを使用したファイルの変換]アクションが失敗した場合に、担当者にメールを送る処理を追加してみましょう。
アクションの失敗に備えた処理の基本形
まずは、失敗する可能性のある[パスを使用したファイルの変換]アクションのあとに、並列分岐を追加します。新しく追加された分岐には、[Office 365 Outlook]コネクタの[メールの送信(V2)]アクションを追加し、担当者にエラーが発生したことを伝えるメールの文面などを設定します。次に、それぞれの分岐に追加されているアクションの設定から、[実行条件の構成]を確認します。さきほど追加した[メールの送信(V2)]アクションは、[パスを使用したファイルの変換]アクションが失敗した場合にのみ実行させたいので、[実行条件の構成]の設定では[に失敗しました]にのみチェックを入れます。
[メールの送信(V2)]アクション
❶ メールの送信先を設定
❷ アクションの実行が失敗したことが分かる件名と本文を入力
フローの動作を確認する
このフローの動作を確認するには、[パスを使用したファイルの変換]アクションの実行を意図的に失敗させる必要があります。このアクションでは、画像ファイルをPDFに変換することができないため、OneDrive for Businessに保存された画像ファイルに対してフローを実行します。これによりアクションの実行が失敗し、[実行条件の構成]を設定した[メール送信(V2)]アクションが実行され、メールが送信されることを確認できます。
[スコープ]アクションを利用した応用形
並列分岐を利用した基本形では、失敗する可能性のあるアクションそれぞれに設定する必要があり、フローが煩雑になってしまいます。そうした課題を解決するには[スコープ]アクションが利用できます。[スコープ]アクションは、反復処理のアクションなどと同様に、複数のアクションをグループ化して扱うことができるようになる機能です。[実行条件の構成]で[スコープ]アクションの実行結果によって条件を設定する場合、グループ化されたすべてのアクションが成功した場合に「成功」となり、いずれかが失敗した場合は「失敗」となります。
[スコープ]アクションをフローに追加する
[スコープ]アクションのあとに[メールの送信(V2)]アクションを追加し[実行条件の構成]を設定します。[メールの送信(V2)]の[実行条件の構成]で[スコープ]アクションが失敗した場合に実行されるように設定しておくことで、[スコープ]アクション内のいずれかのアクションが失敗した場合にのみ実行されるようなります。
フローの動作を確認する
設定が終わったら、先ほどと同様にOneDrive for Businessに保存された画像ファイルに対してこのフローを実行します。フローが実行されるとファイルの変換が失敗し、[スコープ]アクションも失敗しています。それによって、[実行条件の構成]を設定した[メールの送信(V2)]アクションが実行され、メールが送信されることを確認できます。
関連記事
本連載は、インプレスの書籍『Power Automateではじめる業務の完全自動化(できるエキスパート)』の内容に基づいています。紹介している情報は、書籍発行時点(2023年9月)のものです。