9.2. ファイルの更新アップロード¶
-
PUT
/1/
(tenantId)/files/
(bucketName)/
(fileName)¶ ファイルを更新アップロードする。
Request Headers: - X-Application-Id -- アプリケーションID(必須)
- X-Application-Key -- アプリケーションキー(必須)
- X-Session-Token -- セッショントークン(オプション)
- Content-Type -- ファイルの Content-Type (必須)
Parameters: - bucketName (string) -- バケット名
- fileName (string) -- ファイル名
Query Parameters: - metaETag (string) -- メタデータ ETag 値
- fileETag (string) -- ファイル ETag 値
Status Codes: - 200 OK -- 正常登録した
- 400 Bad Request -- パラメータ・リクエストボディ不正
- 401 Unauthorized -- 認証エラー
- 403 Forbidden -- 権限エラー
- 404 Not Found -- 該当バケットまたはファイルが存在しない
- 409 Conflict -- ファイルがロック中(file_locked)、ETag 不一致(etag_mismatch)
- 413 Request Entity Too Large -- ファイルサイズ制限超過
- 507 Insufficient Storage -- ファイルストレージの容量上限オーバー
Response JSON Object: - reasonCode (string) -- 409 Conflict の場合のエラー原因コード
- detail (object) -- 409 Conflict の場合のエラーデータ
リクエスト
リクエストボディにファイルデータ本体を格納する。
ETag値(metaETag, fileETag)を指定した場合、サーバ側ファイルのETag値(metaETag, fileETag)が照合される。 一致していなかった場合、409 Conflict エラーが返却される。レスポンスには、サーバ側のメタデータを含む JSON データが返却される。
またサーバ側データが削除済みマークされていた場合でも更新することができ、削除済みマーク(“deleted”フィールド)をfalseにリセットする。
レスポンス
レスポンスボディには、更新したファイルのメタデータを含む JSON文字列が返却される。
更新が成功した場合、fileETag フィールドに更新された ETag 値が格納される (データの内容に変更がない場合であっても、常に updatedAt とfileETag 値は更新される)。
Conflictの場合はその原因をJSON形式で返す。
注意事項
- 本APIではACL は変更できない。ACLを変更したい場合はメタデータの更新 API を使用すること。
- 同一名称のファイルがあった場合、上書きされる。書き込み権限がない場合は 403 エラーとなる。
- バケットcontentACLと対象ファイルの update 権限が必要。
- バケットcontentACL、および対象ファイルのread権限が無くても、上記のレスポンスが返却される。