自動データ連携時のHTTPエラーの処理
データアナリストやその他の専門家は、Webサービスを呼び出し、その結果を保存するデータ処理を自動的に実行することで、リアルタイムのデータを生成する必要があることがよくあります。自動実行中に、統合タスクを中断するのではなく、予期せぬHTTPエラーを適切に処理することが重要です。
以前の投稿で、私たちは~について議論しました REST Webサービスからの応答に対する条件付き処理 HTTPエラーの処理について、以前は正常な応答とエラーに対してそれぞれ別の出力ファイルが生成されていましたが、今回、空港のステータスを例に、修正されたマッピングソリューションを紹介します。このソリューションでは、要求された空港のステータス、またはエラーの説明を記載した単一のマッピング結果ファイルが生成されます。

一つの解決策として、以前に作成したMapForceのマッピングで生成される各出力ファイルを、中間的な要素として扱い、それらを最終的な結果にマッピングすることで、両方の可能性を考慮した結果を得ることができます。
しかし、よりシンプルな解決策として、正常な応答とエラー結果を、それぞれを一つの出力要素に直接マッピングする方法があります。
以前の記事を公開した後、FAA(アメリカ連邦航空局)の空港情報を提供するWebサービスについて、空港コードのフィールドが空の場合、エラーが発生することを発見しました。これにより、HTTP 404エラーが発生します。残念ながら、このエラーに関するWebサービスの応答は、リクエストヘッダーに記載されている仕様にもかかわらず、JSON形式ではなくHTML形式で提供されます

レスポンスで返されるステータスコードを直接参照することで、HTMLの解析エラーを回避することができます

まず、対象となるコンポーネントのJSONスキーマに、エラーが発生した場合にメッセージを格納するための項目を追加する必要があります。これは、XMLSpyのグラフィカルJSONスキーマエディタを使用することで簡単に実現できます

詳細設定ウィンドウでは、「発生」の項目を「オプション」に設定しています。これは、HTTPエラーが発生した場合にのみ、この項目が生成されるようにするためです。
これで、200より大きいすべてのHTTPステータスコードに基づいて、カスタムのエラーメッセージを作成できるようになりました

上記のconcat関数は、ステータスコードと空港コードを組み合わせて、エラーに関する詳細な説明を生成します。
以下に、ステータスコードと出力コンポーネントの関係を示す、改訂版のマッピング図全体を示します

マッピングの左上に表示されている空港コードの定数を編集し、その後、メインのマッピングウィンドウの下にある「出力」ボタンをクリックして、さまざまな入力値をテストすることができます。ウェブサービスへのGETリクエストに有効な空港コードが含まれている場合、結果は期待されるJSONファイルになります

空港コードの定数に空の文字列を送信することで、HTTPエラーを発生させることができます。これにより、JSON形式のエラー応答ファイルが生成されます

なお、当社のマッピングでは、HTTPステータスコード200~299と300~599に対して、それぞれ別のレスポンスボディを扱っています。これにより、出力されるデータが有効なJSON形式のみであることを保証しています。HTML形式で受信されたエラー結果はマッピングされず、単純に破棄されます。

データマッピングを自動化し、HTTPエラーを処理します
以前の記事で、定期的なスケジュールに基づいて、50の空港の状況をチェックし、記録する自動化のシナリオについて説明しました。これを実現するためには、Webサービスを呼び出し、各空港コードに対応する結果を抽出する必要があります。
元のマッピングは、すでに自動化を考慮して設計されています。MapForce Serverは、クロスプラットフォームに対応したサーバーツールであり、MapForceで設計されたデータマッピングの実行を自動化します マッピングの左上にあるコンポーネントは、文字列定数の後に続く入力パラメータであり、MapForce Serverによる実行時に指定することができます。

スクリーンショットに表示されている文字列「PHX」は、MapForceで直接実行を行う場合にのみ使用されます。
FlowForce Serverは、高度にカスタマイズ可能なサーバーソフトウェアです 企業レベルのデータ統合タスクを効率的に自動化するための、ワークフローエンジン. FlowForce Serverのジョブは、MapForce Serverを使用して、必要な空港コードごとに一度マッピング処理を実行し、その後、定期的なスケジュールで繰り返し実行できます。この自動化されたジョブは、HTTPエラーが発生した場合、各空港コードに対応する結果ファイルを作成し、そのファイルには最新のステータス情報またはエラー内容が記載されます。
MapForceを初めてご利用になる方は、こちらの動画紹介をご覧ください。これにより、MapForceのあらゆるデータ形式間の変換および統合機能について、基本的な内容を学ぶことができます。MapForce、MapForce Server、およびFlowForce Serverを、30日間の無料トライアルで実際に試すことも可能です。