VK Cloud logo
Обновлена 15 апреля 2024 г. в 08:50

Добавление объектов в бакет

В бакет Cloud Storage можно загружать файлы любого типа — изображения, резервные копии, видео и так далее.

Файлы объемом до 1 ГБ можно загружать через личный кабинет, файловые менеджеры, CLI или API. Файлы объемом больше 1 ГБ рекомендуется загружать через CLI или API. Для файлов объемом больше 32 ГБ используйте метод составной загрузки и хранения.

При загрузке объекта ему назначается ключевое имя: комбинация имени объекта и имен папок, в которых находится объект (при наличии).

Стандартная загрузка

  1. Перейдите в личный кабинет VK Cloud.

  2. Перейдите в раздел Объектное хранилищеБакеты.

  3. Нажмите на имя нужного бакета или создайте новый.

  4. Нажмите кнопку Добавить файл.

  5. Выберите необходимые настройки ACL для загружаемых объектов.

  6. Чтобы загрузить один или несколько файлов, выполните одно из следующих действий:

    • Перетащите файлы в окно загрузки.
    • Нажмите кнопку Выбрать файлы и выберите файлы.
  7. Чтобы загрузить папку с файлами, перетащите папку в окно загрузки.

Составная загрузка

  1. Установите и настройте AWS CLI, если он еще не установлен. Установите выходной формат JSON или YAML, так как текстовые форматы не распознаются при выполнении команд составной загрузки.

  2. Создайте бакет, если он еще не создан.

  3. Разделите на части файл, который нужно загрузить в бакет. Например, в Linux-системах это можно сделать при помощи команды split.

  4. Инициируйте составную загрузку. Откройте консоль и выполните команду:

    aws s3api create-multipart-upload    --bucket <название_бакета>    --key <ключ_объекта>    --endpoint-url <endpoint-url>

    Здесь:

    • <имя_бакета> — имя бакета, в который нужно загрузить объект.

    • <ключ_объекта> — имя объекта, для создания которого инициируется составная загрузка.

    • <endpoint-url> — домен сервиса Cloud Storage, должен соответствовать региону аккаунта:

      • https://hb.ru-msk.vkcs.cloud — домен региона Москва;
      • https://hb.kz-ast.vkcs.cloud — домен региона Казахстан.

    В результате вернется ответ с параметрами загрузки, включая идентификатор составной загрузки — UploadId. Сохраните полученный идентификатор, он понадобится для выполнения последующих команд.

  5. Выполните загрузку первой части файла. Откройте консоль, перейдите в директорию файла для загрузки и выполните команду:

    aws s3api upload-part    --bucket <имя_бакета>    --key <ключ_объекта>    --part-number <номер_части>    --body <название_части>    --upload-id <UploadId>    --endpoint-url <endpoint-url>

    Здесь:

    • <номер_части> — номер части в том порядке, в котором они будут собраны. Порядок загрузки части не важен.

    • <UploadId> — идентификатор загрузки, который был получен на предыдущем шаге.

    В результате успешной загрузки в ответе вернется ETag загруженной части. Сохраните полученное значение, оно понадобится для завершения загрузки объекта.

    Выполните команду для каждой части файла.

  6. Проверьте, все ли части файла загружены. Для этого выполните команду:

    aws s3api list-parts    --bucket <имя_бакета>    --key <ключ_объекта>    --upload-id <UploadId>    --endpoint-url <endpoint-url>
  7. Создайте в текущей директории файл в формате JSON и укажите в нем ETag для каждой части файла.

  8. Завершите составную загрузку и объедините части файла в объект. Откройте консоль и выполните команду:

    aws s3api complete-multipart-upload    --multipart-upload file://<JSON-file>    --bucket <имя_бакета>    --key <ключ_объекта>    --upload-id <UploadId>    --endpoint-url <endpoint-url>

    В результате успешного выполнения команды из отдельных частей будет создан объект с указанным ключом.