データ基盤に格納されたデータを個社形式、または標準形式に変換して取得するWeb APIです。
データ検索APIなどで取得したデータIDを用いることでダウンロードしたいデータを指定します。
処理が正常終了した場合は指定した形式のダウンロードデータが返却されます。
クエリパラメーターで指定した変換ルールのファイルPATHが開発実行環境サーバからアクセスできない場合は、エラーレスポンスが返却されます。
クエリパラメーターの変換ルールのファイルPATHが指定なしの場合は、標準形式の状態でデータが返却されます。
指定した伝票データIDがデータ基盤内に存在しない場合はエラーレスポンスが返却されます。
データ変換が異常終了した場合やタイムアウトした場合はエラーレスポンスが返却されます。
図2.4 データダウンロードAPIの呼び出し関係
(1) データダウンロードAPIから呼び出され、共有ファイルシステムから伝票データを取得する。
変換ルールのファイルPATHが指定されている場合、対象ファイルを変換するため、以下(2)を実施する。
(変換ルールのファイルPATHが指定されていない場合、変換処理は呼び出されない。)
(2) 取得した変換ルールを変換コマンドにより、AnyTranで使えるように変換して使用し、AnyTranでデータ変換する。
(3) 伝票抽出用メタデータデータベース(FUJITSU Software Enterprise Postgres)に対してSQLを実行し、取得済フラグを更新する。
取得したデータをjson形式で出力
項目 | 値 | 備考 | ||
---|---|---|---|---|
APIエンドポイント (相対URI) | /download/{ticket_id} | ticket_idはデータ検索APIで取得した値 | ||
クエリパラメーター | conv_rule_file_path | 任意 | 変換ルールのファイルPATH | 指定なしの場合は変換なしで取得 設定したファイルPATHは、以下を満たす必要があります
|
HTTPメソッド | GET | |||
HTTPリクエストヘッダ | Authorization | Bearer {token} | 今版では使用できません |
curl -i -s http://<開発実行環境サーバのIPアドレス>:<ポート番号(注)>/download/01234567890123456789?conv_rule_file_path=/var/tmp/conv_rule_file2 -X GET
注)インベントリファイルのapi_tomcat_portに設定した値を指定
項目 | 値 | 備考 | |
---|---|---|---|
HTTPステータス | int(3桁) | 正常時200、異常時は後述 | |
HTTPレスポンスヘッダ | Cache-Control | キャッシュに関する情報 | |
Content-Type | application/octet-stream | ||
Transfer-Encoding | 符号化方式 | ||
Date | 日付 | ||
HTTPレスポンスボディ | ダウンロードデータ |
HTTP/1.1 200 Cache-Control: max-age=86400 Content-Type: application/octet-stream Transfer-Encoding: chunked Date: Tue, 29 Jun 2021 11:42:24 GMT {ダウンロードデータ}
HTTPステータスコード | メッセージ | 利用場面 |
---|---|---|
200 | OK | リクエストの処理に成功した |
400 | Bad Request | リクエスト違反(Content-Typeが空など)や他の400番台が適さない |
401 | Unauthorized | 認証されていない、または認証に失敗した |
403 | Forbidden | 認証以外の理由でリソースへアクセスできない |
404 | Not Found | サーバーがリクエストされたリソースを発見できない |
405 | Method Not Allowed | 指定以外のHTTPメソッドを指定された |
408 | Request Time-out | リクエストがタイムアウトした |
415 | Unsupported Media Type | サポートしていないメディアタイプが指定された |
500 | Internal Server Error | APIで障害が発生した |
503 | Service Unavailable | APIが一時的に処理を行うことができない |
HTTPステータスコード | メッセージボディ |
---|---|
200 | リソース内容を表示 |
400/500番台 | エラーコードと説明文を表示 |
形式
分類 | 内容 |
---|---|
code | エラーの詳細な種類(HTTPステータスコードではない) |
message | エラーメッセージ本文 |
HTTP/1.1 400 Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Date: Thu, 10 Jun 2021 01:18:13 GMT Connection: close {"error_codes":[{"code":"008","message":"Convert rule file path is not set."}]}
エラーリスト
HTTPステータスコード | エラーコード | 内容 |
---|---|---|
400 | 001 | リクエストボディの形式が誤っている |
400 | 008 | 変換ルールのファイルPATHの値が設定されていない |
400 | 108 | 変換ルールのファイルPATHの値が不正である |
401 | 201 | 認証用トークンによる認証に失敗した |
403 | 202 | アクセスが許可されていないユーザーのアクセスによる認可エラー |
404 | 203 | 存在しないデータにアクセスした(ticket_idに誤りがあるか、または発行したticket_idの有効期限が切れている) |
405 | 206 | 指定以外のHTTPメソッドを指定された |
408 | 204 | データへのアクセスがタイムアウトした |
413 | 205 | リクエストボディのサイズが上限値を超えた |
500 | 301 | 予期せぬエラーが発生した |
500 | 302 | データ変換に失敗した |
503 | 303 | API側の不具合によるエラー |
指定例 | 説明 |
---|---|
Cache-Control: max-age=86400 | 86400 秒後(24 時間)を有効期限としてキャッシュさせる |
リクエスト送受信時の通信タイムアウトは300秒(注)です。
注)これらのパラメーターはユーザーによる変更はできません。変更を希望する場合はシステム管理者への依頼が必要となります。