Power Automate でHTTP使用時の「失敗」を「成功」にする
HTTPアクションでステータスが404のときフローの実行結果が失敗になる しばらく前に、Power Autoamteクラウド版で、とある銀行のWebサイトに当日のPDFファイルが公開されたらメールで通知するというフローを作成しました。 HTTPアクションを使い、ステータスコードが200の場合にOutlookを使ってメールを飛ばすという仕組みです。 フロー自体は動作していて、ファイルが公開されるとメールが飛んできます。 しかし、たまにシステム側からエラーが発生していますという通知メールが飛んでくるようになりました。 調べると、HTTPアクションを実行した際に、ページが存在しない(ステータス404)とアクションの実行結果がエラー扱いとなり、その結果フローも失敗したことになっていることがわかりました。 状態コードを見て、成功で終了してもダメ 回避するために、HTTPステータスコードが200でなければ、終了アクションを呼び出して、終了ステータス成功で終わるようにしてみました。 しかし、これは効果がなく、相変わらずフローが失敗となって終了してしまいます。 前のアクションが失敗したときの処理が必要 解決方法はこちらのページにありました。 HTTP 404 Error Handling: Apply To Each なるほど。実行後に前のアクションの実行結果を判定し、それを元に終了アクションを呼び出し、成功ステータスにすればよいようです。 早速試してみたところ、うまくいき、失敗とはならなくなりました。 サンプル HTTPアクションを追加し、URLを指定します。 次に条件アクションを追加し、「状態コード(HTTP Status Code)」が200のときにメールを送るアクションを追加し、そうでないときは終了アクションを実行します。 ただし、上で書いたように、ページが存在しない場合、この終了アクションは機能しません。HTTPアクションで処理が失敗し、そこで終了するため、ここまで落ちてこないのでしょう。 HTTPアクションと条件アクションの間の「+」をクリックし、「並列分岐の追加」をクリックします。 終了アクションを検索し、追加します。 終了アクションの状態を「成功」にします。 終了アクションの「…」をクリックし、「実行条件の構成」をクリックします。 条件を「に失敗しました」に変更しま...