ページの先頭行へ戻る
Big Data Integration ServerV1.3.0 EDI連携編ユーザーズガイド
FUJITSU Software

2.4.4 データダウンロードAPI

2.4.4.1 概要

データ基盤に格納されたデータを個社形式、または標準形式に変換して取得する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形式で出力

2.4.4.2 リクエスト設計

2.4.4.2.1 リクエストフォーマット

項目

備考

APIエンドポイント (相対URI)

/download/{ticket_id}

ticket_idはデータ検索APIで取得した値

クエリパラメーター

conv_rule_file_path

任意

変換ルールのファイルPATH

指定なしの場合は変換なしで取得

設定したファイルPATHは、以下を満たす必要があります

  • 開発実行環境サーバからアクセスできる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に設定した値を指定

2.4.4.3 レスポンス設計

2.4.4.3.1 レスポンスフォーマット

項目

備考

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 

{ダウンロードデータ}
2.4.4.3.2 HTTPステータスコード

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が一時的に処理を行うことができない

2.4.4.4 メッセージボディ

HTTPステータスコード

メッセージボディ

200

リソース内容を表示

400/500番台

エラーコードと説明文を表示

2.4.4.5 エラーメッセージ

形式

分類

内容

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側の不具合によるエラー

2.4.4.6 キャッシュ

指定例

説明

Cache-Control: max-age=86400

86400 秒後(24 時間)を有効期限としてキャッシュさせる

2.4.4.7 注意事項