アップロード

Object Body を分割アップロードする基本手順は次のとおりです。

  1. アップロードの初期化
  2. Object Body のアップロード
  3. アップロードのコミット/キャンセル

アップロードの初期化

まずはアップロードの初期化を行います。一例としてグループスコープの 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 応答を返します。