ファイルのダウンロード

ファイルのダウンロードの手順を以下に示します。

= 備考 =

図には、APIのリクエストインタフェースとレスポンスインタフェースのうち、説明で使用している項目のみ記載しています。

図3.4 ダウンロードの流れ

1) Transact APIをbeginコマンドで呼び出します。session_validationには前回リクエスト時のレスポンスデータから取得したsession_validationの値を設定します。
object_idにはGetObjectPath APIのレスポンスデータ等から取得した、ダウンロードするファイルのobject_idの値を設定します。

2) Transact APIのレスポンスデータからreturn_codeを取得します。
処理が正常に行われた場合「0」が返却されます。

3) 処理が正常に行われた場合、レスポンスデータからsession_validationおよびoperation_idを取得します。

4) DownloadObject APIを呼び出します。session_validation、operation_idには3) で取得した値を設定します。

5) 処理が正常に行われた場合、DownLoadObject APIのレスポンスデータとしてファイルデータが返却されます。

6) データをファイルに保存します。

7) Transact APIをcommitコマンドで呼び出します。session_validation、operation_idには3) で取得した値を設定します。

= 備考 =

DownloadObject APIが正常に処理された場合、5) のレスポンスデータにsession_validationは含まれません。

8) Transact APIのレスポンスデータからreturn_codeを取得します。
処理が正常に行われた場合「0」が返却されます。

9) 処理が正常に行われた場合、レスポンスデータからsession_validationを取得し、次のリクエストに備えます。

 

データ検証を行う必要がある場合は、続けて以下の手順を実行します。

10) ハッシュ値によるデータ検証を行う場合、ダウンロードしたファイルデータをSHA-256で演算し、ハッシュ値を求めます(A)。

11) 2) で取得したhash_valueの値と10) で求めたハッシュ値(A)の値と比較します(大文字/小文字の区別なし)。
一致すれば、ハッシュ値によるデータ検証は成功です。

12) ファイルサイズによるデータ検証を行う場合、2) で取得したsizeの値とダウンロードしたファイルデータのサイズを比較します。
一致すれば、ファイルサイズによるデータ検証は成功です。

注意

DownloadObject APIの呼び出し以降にエラーを検出した場合はロールバックする必要があります。

  • 5) でエラーが発生した場合、ファイルデータではなくレスポンスの共通インタフェースが返却されます。
    その場合は7) のTransact APIをrollbackコマンドで呼び出します。

  • 8) でエラーを検出した場合は、Transact APIをrollbackコマンドで呼び出します。