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

2.4.4 データダウンロードAPI

2.4.4.1 概要

データ基盤に格納されたデータを個社形式、または標準形式に変換して取得するWeb APIです。

データ検索APIなどで取得した伝票データIDを用いることでダウンロードしたいデータを指定します。

マスキング機能が有効な場合、ユーザー情報を元にアクセス権限コントロールよりアクセスルールを取得し、ダウンロードの可否、ダウンロードデータのマスキング処理を行います。

個社形式データフラグがTrueと指定された場合は、ダウンロード対象ファイルを個社形式データとします。

個社形式データフラグがFalse、または指定なしの場合は、ダウンロード対象ファイルを標準形式データとします。

処理が正常終了した場合は指定した形式のダウンロードデータが返却されます。

クエリパラメーターで指定した変換ルールのファイルPATHが開発実行環境サーバからアクセスできない場合は、エラーレスポンスが返却されます。

クエリパラメーターの変換ルールのファイルPATHが指定なしの場合は、標準形式の状態でデータが返却されます。

指定した伝票データIDがデータ基盤内に存在しない場合はエラーレスポンスが返却されます。

データ変換が異常終了した場合やタイムアウトした場合はエラーレスポンスが返却されます。

図2.4 データダウンロードAPIの呼び出し関係

(1) データダウンロードAPIから呼び出され、共有ファイルシステムから伝票データを取得する。

アクセス権限コントロール連携ありの場合、伝票データにマスキング処理を行うため、以下(2)を実施する。

(アクセス権限コントロール連携なしの場合、マスキング処理は行わない。)

(2) ユーザー情報からアクセスルールを取得し、取得したアクセスルールを元に伝票データをマスキングします。

変換ルールのファイルPATHが指定されている場合、対象ファイルを変換するため、以下(3)を実施する。

(変換ルールのファイルPATHが指定されていない場合、変換処理は呼び出されない。)

(3) 取得した変換ルールを変換コマンドにより、AnyTranで使えるように変換して使用し、AnyTranでデータ変換する。

(4) 伝票抽出用メタデータデータベース(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であること

each_data_flag

任意

個社形式データフラグ

“True”の場合、格納されている個社形式データを対象とする

“False”の場合、格納されている標準形式データを対象とする

パラメータ無しだった場合は“False”とする

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に設定した値を指定

参照

Apahe Tomcatに配備されたAPIエンドポイント(相対URI)は、Apache Tomcatの設定により異なります。

Apache Tomcatに配備されたAPIエンドポイント(相対URI)の確認方法については、Apache Tomcatのオンラインマニュアルなどを参照してください。

2.4.4.3 レスポンス設計

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

項目

備考

HTTPステータス

int(3桁)

正常時200、異常時は後述

HTTPレスポンスヘッダ

Transfer-Encoding

符号化方式

Date

日付

HTTPレスポンスボディ

ダウンロードデータ

例)
HTTP/1.1 200
Transfer-Encoding: chunked
Date: Wed, 26 Jan 2022 01:58:21 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":"009","message":"Convert rule file path is not set."}]}

エラーリスト

HTTPステータスコード

エラーコード

内容

400

001

リクエストボディの形式が誤っている

400

008

本版では未使用

400

009

変換ルールのファイルPATHの値が設定されていない

400

108

本版では未使用

400

112

変換ルールのファイル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 注意事項