Перейти к содержимому

Подтверждение завершения загрузки

Request

Подтверждает загруженный файл облачного хранилища.

  • Предварительные условия: запись файла должна принадлежать вашей команде, а объект уже должен находиться в хранилище — служба читает его ETag и длину для проверки. Размер должен быть больше 0 и меньше 2 ГБ.
  • Эффект: атомарно списывает квоту хранилища команды, затем помечает запись загруженной и сохраняет реальный размер. Пока это не удалось, файл не появляется в /cloudstorage/file/page и продолжает занимать один из 100 неподтверждённых слотов.
  • При ошибке загруженный объект удаляется. Слишком ранний вызов, превышение лимита размера или нехватка места удаляют байты из хранилища и оставляют запись неподтверждённой. Восстановление — это новый /cloudstorage/upload/init и повторная загрузка, а не повтор этого вызова.
  • Завершение: синхронное и идемпотентное после успеха — второй вызов вернёт тот же файл, не списывая квоту повторно.
  • Примечание: запись, которую так и не подтвердили, автоматически убирается через 24 часа.

Задокументированные бизнес-ошибки: 39001, 39011, 39014, 39041, 39046, 39047. Значения кодов см. в Error Codes. Любая операция может дополнительно вернуть общие коды.

Bodyapplication/jsonrequired
idstringrequired

ID файла Cloud Storage, возвращённый API предподписанного URL для загрузки.

Example:"1800000000000001"
POST
/api/cloudstorage/upload/complete
curl -i -X POST \
  http://127.0.0.1:40000/api/cloudstorage/upload/complete \
  -H 'Content-Type: application/json' \
  -d '{
    "id": "1800000000000001"
  }'

Responses

Успех

Bodyapplication/json
codeintegerrequired

Код результата. 0 означает успех; остальные коды указывают на ошибку.

Example:0
msgstring or nullrequired

Сообщение об ошибке.

Example:null
requestIdstring

ID запроса операции. Это поле может присутствовать, если запрос прошёл через API-шлюз.

Example:"1d4f3ea968664593860b94b35d4ebf5e"
dataobject(CloudStorageFile)required
Response
{ "code": 0, "msg": null, "requestId": "1d4f3ea968664593860b94b35d4ebf5e", "data": { "id": "1800000000001001", "fileName": "example", "fileExt": "jpg", "fileSize": "204800", "fileType": 0, "tagInfo": [], "createDate": "string", "updateDate": "string" } }