###################################################################### # All Rights Reserved, Copyright FUJITSU LIMITED 2015-2018 # # API実行サンプル名: # 03-003_オブジェクトストレージ操作【アップロード/ダウンロード】 # # 内容: # オブジェクトストレージへローカルにあるデータファイルをアップロード、 # ダウンロードする手順です。 # # 版数:v1.1 # 更新日:2018/1/26 ###################################################################### 手順: ─────────────────────────────────── 項番1.オブジェクトストレージコンテナ作成 項番1-1.オブジェクトストレージコンテナ作成 項番1-2.コンテナ一覧確認 項番2.オブジェクトアップロード 項番2-1.オブジェクトアップロード 項番2-2.アップロード確認 項番3.オブジェクトダウンロード 項番3-1.オブジェクトダウンロード 項番3-2.ダウンロード確認 参考1.オブジェクト削除 参考2.オブジェクトストレージコンテナ削除 ─────────────────────────────────── 事前準備: あらかじめ以下を準備する必要があります。 ─────────────────────────────────── ・アップロードするファイル ─────────────────────────────────── 注意事項: ・オブジェクトを格納するには、先にコンテナを作成しておく必要が あります。 項番1.オブジェクトストレージコンテナ作成 オブジェクト(ローカルにあるデータファイル)を格納するための コンテナを作成し、作成されたことを確認します。 項番1-1.オブジェクトストレージコンテナ作成 オブジェクト(ローカルにあるデータファイル)を格納するための コンテナを作成します。 環境定義コマンド例: ====================================================================== # CONT_NAME=<作成するコンテナ名> CONT_NAME=TEST_CONTAINER_01 API実行コマンド例: ====================================================================== curl -i $OBJECTSTORAGE/v1/AUTH_$PROJECT_ID/$CONT_NAME -X PUT -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" レスポンス例: ====================================================================== HTTP/1.1 201 Created X-Fcx-Endpoint-Request: EXECUTED_REQ019262984_201 X-Trans-Id: tx61ce01e8f24047f58f721-005a58768f Date: Fri, 12 Jan 2018 08:49:20 GMT Content-Type: text/html;charset=UTF-8 Content-Length: 0 ====================================================================== 項番1-2.コンテナ一覧確認 コンテナが作成されたことを確認します。 API実行コマンド例: ====================================================================== curl -Ss $OBJECTSTORAGE/v1/AUTH_$PROJECT_ID?format=json -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== [ { "name": "TEST_CONTAINER_01", "bytes": 0, "count": 0 } ] ====================================================================== 項番2.オブジェクトアップロード オブジェクト(ローカルにあるデータファイル)を作成したコンテナに アップロード(登録)し、アップロードされたことを確認します。 項番2-1.オブジェクトアップロード オブジェクト(ローカルにあるデータファイル)を作成したコンテナに アップロード(登録)します。 環境定義コマンド例: ====================================================================== # CONT_NAME=<作成したコンテナ名> CONT_NAME=TEST_CONTAINER_01 # OBJECT_NAME=<コンテナに作成するオブジェクト名> OBJECT_NAME=SampleFile_01 # FILE_PATH=<アップロードするローカルにあるデータファイルの格納先 # (ローカル環境のパスを指定)> FILE_PATH=/home/test/SampleFile_01.txt API実行コマンド例: ====================================================================== curl -i $OBJECTSTORAGE/v1/AUTH_$PROJECT_ID/$CONT_NAME/$OBJECT_NAME -X PUT -T "$FILE_PATH" -H "X-Auth-Token: $OS_AUTH_TOKEN" レスポンス例: ====================================================================== HTTP/1.1 100 Continue HTTP/1.1 201 Created X-Fcx-Endpoint-Request: EXECUTED_REQ019266461_201 Last-Modified: Fri, 12 Jan 2018 09:01:10 GMT Etag: e5c834fbdaa6bfd8eac5eb9404eefdd4 X-Trans-Id: tx0d06b84206f94650add29-005a587955 Date: Fri, 12 Jan 2018 09:01:57 GMT Content-Type: text/html;charset=UTF-8 Content-Length: 0 ====================================================================== 項番2-2.アップロード確認 コンテナにオブジェクトがアップロードされたことを確認します。 環境定義コマンド例: ====================================================================== # CONT_NAME=<オブジェクトをアップロードしたコンテナ名> CONT_NAME=TEST_CONTAINER_01 API実行コマンド例: ====================================================================== curl -Ss $OBJECTSTORAGE/v1/AUTH_$PROJECT_ID/$CONT_NAME?format=json -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== [ { "content_type": "application/octet-stream", "name": "SampleFile_01", "bytes": 1048576000, "last_modified": "2018-01-12T09:01:09.394780", "hash": "e5c834fbdaa6bfd8eac5eb9404eefdd4" } ] ====================================================================== 項番3.オブジェクトダウンロード コンテナにアップロードしたオブジェクトをローカル環境にダウンロードし、 ダウンロードできたことを確認します。 項番3-1.オブジェクトダウンロード コンテナにアップロードしたオブジェクトをローカル環境にダウンロード します。 環境定義コマンド例: ====================================================================== # CONT_NAME=<オブジェクトが格納されているコンテナ名> CONT_NAME=TEST_CONTAINER_01 # OBJECT_NAME=<ダウンロードするオブジェクト名> OBJECT_NAME=SampleFile_01 # FILE_PATH=<ダウンロードするオブジェクトの格納先(ローカル環境のパスを # 指定)> FILE_PATH=/home/test/SampleFile_02.txt API実行コマンド例: ====================================================================== curl -Ss $OBJECTSTORAGE/v1/AUTH_$PROJECT_ID/$CONT_NAME/$OBJECT_NAME -X GET -o "$FILE_PATH" -H "X-Auth-Token: $OS_AUTH_TOKEN" レスポンス例: ====================================================================== レスポンスなし ====================================================================== 項番3-2.ダウンロード確認 オブジェクトがダウンロードできたことを確認します。 環境定義コマンド例: ====================================================================== # FILE_PATH=<ダウンロード時に指定したオブジェクトの格納先(ローカル # 環境のパスを指定)> FILE_PATH=/home/test/SampleFile_02.txt 実行コマンド例: ====================================================================== ls -al $FILE_PATH レスポンス例: ====================================================================== -rw-rw-r--. 1 test test 1048576000 Jan 12 19:13 /home/test/SampleFile_02.txt ====================================================================== 参考1.オブジェクト削除 アップロードしたオブジェクトを削除します。 環境定義コマンド例: ====================================================================== # CONT_NAME=<削除するオブジェクトが格納されているコンテナ名> CONT_NAME=TEST_CONTAINER_01 # TMP_OBJECT_NAME=<削除するオブジェクト名> TMP_OBJECT_NAME=SampleFile_01 API実行コマンド例: ====================================================================== curl -i $OBJECTSTORAGE/v1/AUTH_$PROJECT_ID/$CONT_NAME/$TMP_OBJECT_NAME -X DELETE -H "X-Auth-Token: $OS_AUTH_TOKEN" レスポンス例: ====================================================================== HTTP/1.1 204 No Content X-Fcx-Endpoint-Request: EXECUTED_REQ018705670_204 X-Trans-Id: txb3e0d477a4e84a1b961a6-005a588ce1 Date: Fri, 12 Jan 2018 10:24:33 GMT ====================================================================== 参考2.オブジェクトストレージコンテナ削除 オブジェクトストレージのコンテナを削除します。 注意事項: ・オブジェクトが格納されているコンテナは削除できません。 環境定義コマンド例: ====================================================================== # TMP_CONT_NAME=<削除するコンテナ名> TMP_CONT_NAME=TEST_CONTAINER_01 API実行コマンド例: ====================================================================== curl -i -Ss $OBJECTSTORAGE/v1/AUTH_$PROJECT_ID/$TMP_CONT_NAME -X DELETE -H "X-Auth-Token: $OS_AUTH_TOKEN" レスポンス例: ====================================================================== HTTP/1.1 204 No Content X-Fcx-Endpoint-Request: EXECUTED_REQ018817978_204 X-Trans-Id: txd1c9515d0fad4faa8da5e-005a588eb8 Date: Fri, 12 Jan 2018 10:32:25 GMT ====================================================================== 変更履歴: ─────────────────────────────────── v1.1版: ・項番全体:項番構成の見直し、説明修正 ─────────────────────────────────── 以上