8.6. オブジェクトの削除

DELETE /1/(tenantId)/objects/(bucketName)/(objectId)

オブジェクトを削除する。

Request Headers:
 
  • X-Application-Id -- アプリケーションID(必須)
  • X-Application-Key -- アプリケーションキー(必須)
  • X-Session-Token -- セッショントークン(オプション)
Parameters:
  • bucketName (string) -- バケット名
  • objectId (string) -- オブジェクトID
Query Parameters:
 
  • etag (string) -- ETag値
  • deleteMark (int) -- 論理削除を行う場合は1
Status Codes:

クエリパラメータの詳細

etag で ETag 値を指定した場合、サーバ側データの ETag 値との比較が行われ、一致しなかった場合は 409 Conflict が返却される。 レスポンスには、サーバ側のオブジェクト情報を含む JSON データが返却される。

deleteMark を 1 に指定した場合、論理削除される(実データは削除せず削除マークのみを true に設定する)。 updatedAt および etagは自動更新される。

以下に deleteMark を 1 に指定した場合のレスポンス例を示す。

{
  "_id": "521c36d4ac521e1ffa000007",
  "name": "Foo",    //データの内容は保持される
  "ACL": {
    "owner": "xxxxx",
    "r": ["g:authenticated"],
    "w": ["g:authenticated"],
  },
  "createdAt": "2013-08-27T05:19:16.000Z",
  "updatedAt": "2013-08-27T05:19:16.000Z",  // 更新される
  "etag": "8c92c97e-01a7-11e4-9598-53792c688d1b", // 更新される
  "_deleted": true // セットされる
}

サーバ負荷への影響が大きいため、delete処理では再送処理対応(requestToken)をサポートしない。 (サーバ側で処理済みのオブジェクトに対して再送があった場合、Conflictとして処理される)

レスポンスボディ

  • 完全削除の場合、レスポンスなし(空のJSON)。
  • 論理削除(deleteMark=1)の場合、論理削除オブジェクト情報を含むJSONデータ。
  • 409 Conflictの場合はその原因をJSON形式で返す。

注意事項

  • バケットcontentACLと対象オブジェクトの delete 権限が必要