アップロード
Object Body を分割アップロードする基本手順は次のとおりです。
アップロードの初期化
まずはアップロードの初期化を行います。一例としてグループスコープの Bucket 内に Object Body をアップロードする初期化を行う例を以下に挙げます。
curl -v -X POST \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: application/vnd.kii.StartObjectBodyUploadRequest+json" \
-H "Accept: application/vnd.kii.StartObjectBodyUploadResponse+json" \
"https://api-jp.kii.com/api/apps/{APP_ID}/groups/{GROUP_ID}/buckets/{BUCKET_ID}/objects/{OBJECT_ID}/body/uploads" \
-d '{ }'
Kii Cloud は、次のようにアップロード ID を返します。
< 200
< Content-Type: application/vnd.kii.StartObjectBodyUploadResponse+json
{
"uploadID" : {UPLOAD_ID}
}
このアップロード ID は、後ほど Object Body をアップロードする際に利用します(詳細は 次のセクション を参照してください)。
Object Body のアップロード
ここではサイズが 1.5 MB の mp4 ファイルを 2 分割でアップロードする例を挙げます。まずは、最初の 1 MB をアップロードする例を以下に挙げます。
curl -v -X PUT \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: video/mp4" \
-H "Content-Range: bytes=0-1048575/1572864" \
-H "Accept: application/json, application/*+json" \
"https://api-jp.kii.com/api/apps/{APP_ID}/groups/{GROUP_ID}/buckets/{BUCKET_ID}/objects/{OBJECT_ID}/body/uploads/{UPLOAD_ID}/data" \
-d '***THE_FIRST_1_MB_OF_THE_BINARY_DATA***'
"Content-Range" には、今回送信するバイト範囲とデータ全体のサイズを設定します。また、"Content-Type" には正しい値を設定してください(後ほど Object Body をダウンロードした際に、ここで指定した値が返されます)。
アップロードが成功すると Kii Cloud は 204 応答を返します。
次に、残りのデータをアップロードする例を挙げます。
curl -v -X PUT \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: video/mp4" \
-H "Content-Range: bytes=1048576-1572863/1572864" \
-H "Accept: application/json, application/*+json" \
"https://api-jp.kii.com/api/apps/{APP_ID}/groups/{GROUP_ID}/buckets/{BUCKET_ID}/objects/{OBJECT_ID}/body/uploads/{UPLOAD_ID}/data" \
-d '***THE_REMAINING_BINARY_DATA***'
アップロードが成功すると Kii Cloud は再び 204 応答を返します。
アップロードのコミット/キャンセル
アップロード完了後、コミット処理またはキャンセル処理を行います。
アップロードのコミット
アップロードのコミットを行う例を以下に挙げます。
curl -v -X POST \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
"https://api-jp.kii.com/api/apps/{APP_ID}/groups/{GROUP_ID}/buckets/{BUCKET_ID}/objects/{OBJECT_ID}/body/uploads/{UPLOAD_ID}/status/committed" \
-d ""
コミット処理が成功すると Kii Cloud は 204 応答を返します。
アップロードのキャンセル
アップロードをキャンセルする例を以下に挙げます。
curl -v -X POST \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
"https://api-jp.kii.com/api/apps/{APP_ID}/groups/{GROUP_ID}/buckets/{BUCKET_ID}/objects/{OBJECT_ID}/body/uploads/{UPLOAD_ID}/status/cancelled" \
-d ""
キャンセル処理が成功すると Kii Cloud は 204 応答を返します。