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

2.5.4 データダウンロードAPI

2.5.4.1 概要

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

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

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

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

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

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

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

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

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

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

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

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

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

(アクセス権限コントロール連携なしまたは、ダウンロードユーザーがデータオーナーの場合、マスキング処理は行わない。)

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

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

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

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

(4) 伝票抽出用メタデータデータベース(Fujitsu Enterprise Postgres)に対してSQLを実行し、取得済フラグを更新する。

取得したデータをjson形式で出力

2.5.4.2 リクエスト設計

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

項目

備考

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

/download/{ticket_id}

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

クエリパラメータ

conv_rule_file_path

任意

変換ルールのファイルPATH

conv_rule_file_pathとconv_rule_idの指定がない場合は変換なしで取得

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

  • 開発実行環境サーバからアクセスできるPATHであること

  • 絶対PATHであること

  • 日本語を含まないPATHであること

conv_rule_idパラメータを指定する場合は本パラメータを指定できません

conv_rule_idパラメータと同時に指定した場合はエラーとなります

conv_rule_id

任意

変換ルールID

conv_rule_file_pathとconv_rule_idの指定がない場合は変換なしで取得

変換ルールIDを利用する場合は、以下の条件を満たす必要があります

  • EDI連携機能インストール時にconvert_rule_sharing_use = yesを指定していること

  • 変換定義共有機能に登録済みの変換ルールファイルの管理用IDであること

conv_rule_file_pathパラメータを指定する場合は本パラメータを指定にすることができません

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

参照

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

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

2.5.4.3 レスポンス設計

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

項目

備考

HTTPステータス

int(3桁)

正常時200、異常時は後述

HTTPレスポンスヘッダ

X-Request-Id

リクエストID

リクエストを一意に示す値

X-Frame-Options

DENY

X-Content-Type-Options

nosniff

X-XSS-Protection

1; mode=block

Transfer-Encoding

符号化方式

Date

日付

HTTPレスポンスボディ

ダウンロードデータ

例)
HTTP/1.1 200
X-Request-Id: be9b7a56-f658-40d9-8663-f1a385eeb145
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Transfer-Encoding: chunked
Date: Wed, 26 Jan 2022 01:58:21 GMT

{ダウンロードデータ}
2.5.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.5.4.4 メッセージボディ

HTTPステータスコード

メッセージボディ

200

リソース内容を表示

400/500番台

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

2.5.4.5 エラーメッセージ

形式

分類

内容

code

エラーの詳細な種類(HTTPステータスコードではない)

message

エラーメッセージ本文

例)
HTTP/1.1 400
X-Request-Id: 2c98d779-6423-4d6d-9b09-bfb590e04a13
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
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

005

変換ルールIDの値が設定されていない。

400

008

本版では未使用

400

009

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

400

104

変換ルールIDの値が不正である。

400

108

本版では未使用

400

112

変換ルールのファイルPATHの値が不正である

400

206

URLに誤りがある

401

201

認証用トークンによる認証に失敗した

403

202

アクセスが許可されていないユーザーのアクセスによる認可エラー

404

203

存在しないデータにアクセスした(ticket_idに誤りがあるか、または発行したticket_idの有効期限が切れている)

404

303

API側の不具合によるエラー

405

206

指定以外のHTTPメソッドを指定された

408

204

データへのアクセスがタイムアウトした

413

205

リクエストボディのサイズが上限値を超えた

500

301

予期せぬエラーが発生した

500

302

データ変換に失敗した

500

303

予期せぬエラーが発生した

500

401

データの改ざんを検出した

503

303

API側の不具合によるエラー

2.5.4.6 キャッシュ

指定例

説明

Cache-Control: max-age=86400

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

2.5.4.7 注意事項