Перейти до вмісту

Пакетний запит попередньо підписаних URL для завантаження

Request

Резервує записи у хмарному сховищі та видає передпідписані URL для вивантаження.

  • Передумови: команда має мати запис хмарного сховища, і він не має бути протермінованим. Базове імʼя кожного файлу обмежене 60 символами й має бути унікальним як у межах запиту, так і щодо всіх наявних файлів команди — звірка йде за імʼям без розширення, тому a.png конфліктує з наявним a.mp4.
  • Обмеження: одночасно в команді може бути не більше 100 непідтверджених вивантажень.
  • Ефект: вставляє по одному запису на імʼя зі статусом «вивантажується» та нульовим розміром і повертає {id, fileName, presignedUrl} для кожного.
  • Квота: вільне місце тут не перевіряється. Воно списується під час підтвердження вивантаження, тому init може пройти, а complete все одно впасти через нестачу місця.
  • Завершення: синхронне. Кожен передпідписаний URL дійсний одну годину; надішліть байти методом PUT, а потім викличте /cloudstorage/upload/complete.

Задокументовані бізнес-помилки: 39001, 39037, 39044, 39045, 39047, 39050, 39051. Значення кодів див. у Error Codes. Будь-яка операція може додатково повернути загальні коди.

Bodyapplication/jsonrequired
fileNamesArray of strings, non-emptyrequired

Список імен файлів для вивантаження (з розширенням), наприклад photo.jpg, video.mp4.

Example:
[ "photo.jpg", "video.mp4" ]
POST
/api/cloudstorage/upload/init
curl -i -X POST \
  http://127.0.0.1:40000/api/cloudstorage/upload/init \
  -H 'Content-Type: application/json' \
  -d '{
    "fileNames": [
      "example.jpg"
    ]
  }'

Responses

Успіх

Bodyapplication/json
codeintegerrequired

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

Example:0
msgstring or nullrequired

Повідомлення про помилку.

Example:null
requestIdstring

ID запиту операції. Це поле може бути присутнім, якщо запит пройшов через API-шлюз.

Example:"1d4f3ea968664593860b94b35d4ebf5e"
dataArray of objects(UploadInitResult)required
Response
{ "code": 0, "msg": null, "requestId": "1d4f3ea968664593860b94b35d4ebf5e", "data": [ {} ] }