【Power Automateではじめる業務の完全自動化】実務直結のノウハウが満載! 本連載では、企業へのMicrosoft 365の導入や活用支援を手がける著者・太田浩史氏による、Power Automateを使った業務自動化のノウハウを提供します。

第6章|本番運用で役立つテクニックと大事な引継ぎ
LESSON 31

エラーに対処するにはどうする?

エラーに対処するには、まずは発生しているエラーを正しく認識することが必要です。そのためには、実行履歴を活用しましょう。実行履歴からさまざまな情報を読み解けます。重要な手掛かりとなるエラーメッセージなど、確認すべきポイントを解説します。

実行履歴の確認と原因を見つけるポイント

フローが正しく動いていないことに気付いたら、まずはそのフローの実行履歴を確認します。実行履歴を見ることで、いつ実行されたフローが失敗したのかを確認できます。さらに失敗したフローの個別実行履歴を開くと、どのアクションが失敗しているのかを確認できます。

Excelファイルの内容をSharePointリストに転記|Power Automateではじめる業務の完全自動化

こうした実行履歴を確認するときは、どういった失敗をしているのかを正しく把握することが大切です。失敗するアクションは何か、失敗するときの値はどうなっているのか、または、失敗する時間に傾向はあるのかなど色々な観点で探していきます。例えば筆者は次のような順番で実行履歴を確認しています。

Excelファイルの内容をSharePointリストに転記|Power Automateではじめる業務の完全自動化

Excelファイルの内容をSharePointリストに転記|Power Automateではじめる業務の完全自動化

ポイント1:フローの失敗は1回か複数回か

まずは、フローの失敗が1回だけなのか複数回なのかを確認します。フローで日時に関する処理などが含まれている場合、時間帯などによってフローが失敗することもあります。複数回失敗している場合は、その時間帯や日付、曜日などに規則的な傾向が見られないかどうかを確認しましょう。

ポイント2:失敗するアクションは常に同じか

失敗しているフロー個別の実行履歴を表示し、どのアクションの実行に失敗しているかを確認します。ポイント1で確認した際に、複数回のフローが失敗していた場合は、それぞれのフローの実行履歴を見比べて、失敗しているアクションが同じなのかどうかを確認します。それぞれで失敗するアクションが異なる場合は、原因も別であると考えられます。そのため、それらは別のエラーであると想定して、それぞれ別に事象を把握していくことが大切です。

Excelファイルの内容をSharePointリストに転記|Power Automateではじめる業務の完全自動化

ポイント3:失敗するアクションのエラーメッセージは何か

失敗するアクションが特定できたら、そのアクションのエラーメッセージを確認しましょう。エラーメッセージには、アクションが失敗した原因が書かれており、それを解消するための大きな手掛かりとなります。分かりやすいエラーメッセージであった場合は、それだけで修正の方法が想定できる場合もあります。エラーメッセージの確認方法は、次のSECTION02で詳しく紹介します。

Excelファイルの内容をSharePointリストに転記|Power Automateではじめる業務の完全自動化

ポイント4:エラーに関係のありそうなアクションの入力や出力は正しいか

個別の実行履歴を表示して、発生しているエラーに関係のありそうなアクションをクリックし、入力や出力が想定通りの値になっているかを確認します。アクションの設定で式を利用している場合は、式の間違いで想定外の値が入っていることがあります。また、失敗するまでに実行されたトリガーやアクションによって取得できているはずの値が取得できていない場合などで、失敗するアクションの入力が想定外の値になっていることもあります。このときに修正すべきは、失敗しているアクションではなく、そのアクションの入力の値を取得するために実行されたアクションの場合もあります。

ポイント5:失敗する場合と成功する場合の違いはどこか

失敗するアクションのエラーメッセージや入力の値を見ても失敗の要因を想定できない場合は、成功しているフローの実行履歴と見比べてみましょう。特に失敗するアクションの入力を比較し、それぞれにどのような違いがあるのかを見ると、失敗の原因に気付きやすくなることも多いです。

さらに、違いがあるのはフローそのものではなく、フローから接続されているほかのサービスにある場合もあります。例えば、SharePoint上でファイルの移動やコピーを行う処理の場合、既に同じ名前のファイルが存在しているときに失敗することもあります。フローの実行履歴だけではなく、フローから接続しているほかのサービスの状態を確認することも大切です。

エラーメッセージや状態コードをよく読もう

失敗するフローを見つけ原因となっているアクションを特定できたら、表示されている[実行の詳細]ペインと失敗したアクションから出力されたエラーメッセージをよく確認しましょう。

[実行の詳細]ペイン

失敗したフロー個別の実行履歴画面を開くと、右側に[実行の詳細]ペインが表示されます。ここで注目すべきはペインの中にある[エラーの詳細]です。失敗したアクションから出力されたエラーメッセージが表示されており、失敗の原因を特定する手掛かりになります。

Excelファイルの内容をSharePointリストに転記|Power Automateではじめる業務の完全自動化

[出力]に表示される[状態コード]

必ず表示されるわけではありませんが、失敗したアクションの[出力]に[状態コード]が表示されていれば、原因を推測する手掛かりになります。代表的な状態コードを次のページの表にまとめました。400番台であれば、アクションの設定やアクションに関連した接続に問題がある場合が多く、500番台であればアクションの接続先に問題がある場合が多いです。

Excelファイルの内容をSharePointリストに転記|Power Automateではじめる業務の完全自動化

代表的な状態コード

状態コード 状態 原因の例
400 Bad Request アクションの設定値が間違っている
401 Unauthorized 認証や権限に問題がある
403 Forbidden
404 Not Found アクションの接続先が間違っているか、削除されてしまっている
408 Request Timeout Power Automateに原因があり、接続先への接続がタイムアウトになってしまった
429 Too Many Requests 一定時間内のアクセス数が多すぎた
429 Too Many Requests 一定時間内のアクセス数が多すぎた
500 Internal Server Error アクションの接続先でエラーが発生している
502 Bad Gateway アクションの接続先への接続に問題が発生している
503 Service Unavailable アクションの接続先が一時的に利用不可になっている

ここもポイント!エラーの場合も検索してヒントを得よう

エラーメッセージの内容は、発生したエラーに応じてさまざまあり、日本語だけでなく英語で表示されるものも多くあります。読んでも意味が分からないものもあるため、そうしたときにはエラーメッセージを基にネットを検索してみましょう。検索キーワードとしては、エラーメッセージに加えて「Power Automate」やアクション名、アクションのコネクタ名などを組み合わせるのが良いでしょう。

Excelファイルの内容をSharePointリストに転記|Power Automateではじめる業務の完全自動化

よくあるエラーのパターンを押さえよう

代表的なエラーのパターンに応じて、いくつかの実例を見ていきましょう。実例からは、エラーメッセージの読み取り方や、解決のための観点を学ぶことができます。

接続先での処理が失敗する

アクションの接続先での処理に失敗したパターンです。以下の例の[エラーの詳細]を見ると、「コピー先の場所の存在を確認できませんでした」とあります。また、状態コードは「400」となっており、アクションの設定に問題がありそうなことが分かります。

この例では、エラーが発生した[ファイルのコピー]アクションの[インストール先フォルダー]に指定したフォルダーが、フロー作成後に削除されたためエラーが発生していました。一見するとエラーメッセージからはアクションの設定に原因があるように見えても、エラーが発生するようになった要因が接続先システムで行われた操作に因ることもあります。アクションと接続先のシステムの両面から、エラーの原因を確認するようにしましょう。

Excelファイルの内容をSharePointリストに転記|Power Automateではじめる業務の完全自動化

認証関係の不具合

接続先への認証で不具合が生じた場合に発生するエラーです。以下の例では[エラーの詳細]には、[接続]が無効になっているため、再度サインインをするように書かれてあります。また、状態コードも「401」であることから、認証関係のエラーが発生していることが分かります。こうした不具合は、IT部門などの管理者によってパスワードが変更された場合などに発生します。

Excelファイルの内容をSharePointリストに転記|Power Automateではじめる業務の完全自動化

式で利用した関数の引数の値が想定と異なる

式で関数を利用しているときに発生したパターンです。次の例の[エラーの詳細]には「Unable to process template language expressions」と書かれており、これは「テンプレートの言語表現が処理できない」という意味です。さらに読み進めていくと「In function 'formatDateTime', the value provided for date time string '2023/6/31' was not valid.」と書かれてあることから、式で利用している「formatDateTime」に、「2023/6/31」という不正な値が指定されていることが理由だと分かります。

この例では、2023年6月31日という実在しない日付が関数の引数に指定されてしまったことで発生しています。日付を手入力した場合に起こりやすいエラーです。数式を利用した場合に発生するエラーは、関数に指定される引数の値が、想定とは異なることに因るものもあります。数式のエラーを解決するためには、実行時の引数の値を1つずつ丁寧に確認していきましょう。

Excelファイルの内容をSharePointリストに転記|Power Automateではじめる業務の完全自動化

さらに上達!実行履歴に列を追加して確認作業の効率アップ

実行履歴に表示される件数が多くなると、その中から探したい履歴を特定して見つけ出すのが難しくなってきます。手掛かりとなるのが開始時間しかなく、それらしき履歴を1件ずつ開いて詳細を確認する必要があるからです。そうしたときに利用してほしいのが、[列の編集]です。トリガーの任意の出力を実行履歴の一覧に列として表示する機能で、履歴を探し出すときに役立ちます。

Excelファイルの内容をSharePointリストに転記|Power Automateではじめる業務の完全自動化

関連記事