分割アップロード(オブジェクトストレージ[Swift互換]の場合)
対象リージョン:全リージョン
イメージファイルを分割してアップロードします。
始める前に
アップロード先のオブジェクトストレージが東日本リージョン3/西日本リージョン3の場合、分割アップロード方式は実施できないため一括アップロード(オブジェクトストレージ[Swift互換]の場合)を実施します。
手順
タスクの結果
レスポンスステータスが"200 OK"の場合、成功です。
| 増設ストレージのインポートイメージファイルのアップロード | 親トピック: イメージファイルのアップロード |
対象リージョン:全リージョン
イメージファイルを分割してアップロードします。
アップロード先のオブジェクトストレージが東日本リージョン3/西日本リージョン3の場合、分割アップロード方式は実施できないため一括アップロード(オブジェクトストレージ[Swift互換]の場合)を実施します。
ここでは200MB単位に分割する例を示します。
# split -b 200MB <アップロードファイル名(相対パス)>
分割結果を確認します。この時に表示されるファイル名やファイルサイズは、あとの手順で使用します。
# ls -la
合計 11079834
----rwx---+ 1 <owner> <group> 5672802304 Jul 25 13:41 <アップロードファイル名(相対パス)>
-rw-rwxr--+ 1 <owner> <group> 200000000 Jul 3 13:47 xaa
-rw-rwxr--+ 1 <owner> <group> 200000000 Jul 3 13:47 xab
-rw-rwxr--+ 1 <owner> <group> 200000000 Jul 3 13:47 xac
~~~~
-rw-rwxr--+ 1 <owner> <group> 72802304 Jul 3 13:52 xbc
利用者管理サービスのAPIを実行してトークンを取得します。
認証トークンのスコープにドメインは指定できません。
# OBJECTSTORAGE=<オブジェクトストレージのAPIエンドポイント>
# TOKEN=<取得したトークン>
# PROJECT_ID=<プロジェクトID>
# CONTAINER=<アップロード先のコンテナ名>
# OBJECT=<アップロード先のイメージファイル名>
# curl -i -H "X-Auth-Token: ${TOKEN}" ${OBJECTSTORAGE}/v1/AUTH_${PROJECT_ID}/${CONTAINER} -X PUT
分割ファイルの数だけアップロードを繰り返します。
# curl -i -H "X-Auth-Token: ${TOKEN}" ${OBJECTSTORAGE}/v1/AUTH_${PROJECT_ID}/${CONTAINER}/${OBJECT}/001 -T xaa
# curl -i -H "X-Auth-Token: ${TOKEN}" ${OBJECTSTORAGE}/v1/AUTH_${PROJECT_ID}/${CONTAINER}/${OBJECT}/002 -T xab
# curl -i -H "X-Auth-Token: ${TOKEN}" ${OBJECTSTORAGE}/v1/AUTH_${PROJECT_ID}/${CONTAINER}/${OBJECT}/003 -T xac
~~~~
# curl -i -H "X-Auth-Token: ${TOKEN}" ${OBJECTSTORAGE}/v1/AUTH_${PROJECT_ID}/${CONTAINER}/${OBJECT}/029 -T xbc
アップロードした各ファイルのチェックサム値を取得します。
# md5sum xaa xab xac xad xae xaf xag xah xai xaj xak xal xam xan xao xap xaq xar xas xat xau xav xaw xax xay xaz xba xbb xbc
3b2b82b767e26848b0e22f8f92cf49a2 *xaa
af8c1dba49cf2e01e63e849bd0f9b100 *xab
9ee81d39f3322c07e0eb76be0dc6937c *xac
~~~~
8a62fffb570326693f87ac0c177020df *xbc
[
{
"path": "<1つ目の分割ファイルのパス>",
"etag": "<1つ目の分割ファイルのチェックサム値>",
"size_bytes": <1つ目の分割ファイルのサイズ>
},
{
"path": "<2つ目の分割ファイルのパス>",
"etag": "<2つ目の分割ファイルのチェックサム値>",
"size_bytes": <2つ目の分割ファイルのサイズ>
},
{
"path": "<3つ目の分割ファイルのパス>",
"etag": "<3つ目の分割ファイルのチェックサム値>",
"size_bytes": <3つ目の分割ファイルのサイズ>
},
~~~~
{
"path": "<最後の分割ファイルのパス>",
"etag": "<最後の分割ファイルのチェックサム値>",
"size_bytes": <最後の分割ファイルのサイズ>
}
]
# curl -i -H "X-Auth-Token: ${TOKEN}" ${OBJECTSTORAGE}/v1/AUTH_${PROJECT_ID}/${CONTAINER}/${OBJECT}?multipart-manifest=put -T slo.json
# curl -i -H "X-Auth-Token: ${TOKEN}" ${OBJECTSTORAGE}/v1/AUTH_${PROJECT_ID}/${CONTAINER}/${OBJECT} -I
レスポンスステータスが"200 OK"の場合、成功です。
対象リージョン:東日本第3/西日本第3
対象リージョン:東日本第1/東日本第2、西日本第2