Управление объектами в бакете

Просмотр списка объектов

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

  2. Выберите проект, в котором расположен бакет.

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

  4. Нажмите на имя бакета. Откроется список объектов в бакете.

  5. (Опционально) Отсортируйте список по имени объекта, используя стрелки в заголовке соответствующего столбца.

    • Порядок при сортировке по возрастанию: AZ / az / AЯ / ая / спецсимволы по возрастанию ASCII-значений / 09.
    • Порядок при сортировке по убыванию: 90 / спецсимволы по убыванию ASCII-значений / яа / ЯА / za / ZA.

Просмотр свойств объекта

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

  2. Выберите проект, в котором расположен бакет.

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

  4. Нажмите на имя бакета.

  5. Нажмите на имя объекта. Откроется страница его свойств:

    • Название — имя объекта.
    • Размер — размер объекта.
    • Владелец объектаидентификатор проекта, к которому относится объект.
    • Класс хранениякласс хранения объекта.
    • Дата создания — дата и время добавления объекта в бакет.
    • Дата изменения — дата и время последнего изменения объекта.
    • Ссылка на объект — ссылка на скачивание объекта. Ссылку можно скопировать, нажав на значок Копировать справа от нее.
    • ETag — контрольная сумма объекта, используемая для проверки его целостности при составной загрузке. Контрольную сумму можно скопировать, нажав на значок Копировать справа от нее.
    • Доступ к файлусписок управления доступом (ACL) назначенный объекту.

Скачивание объекта

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

  2. Выберите проект, в котором расположен бакет.

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

  4. Нажмите на имя бакета.

  5. Выполните одно из действий:

    • Выберите объект с помощью флажка и нажмите кнопку Скачать.
    • Нажмите  для объекта и выберите пункт Скачать файл.

Изменение уровня доступа к объекту

Загруженные в бакет объекты по умолчанию имеют уровень доступа private, то есть их можно скачать только:

Вы можете изменить уровень доступа объекта, чтобы сделать его доступным сторонним пользователям. Уровни доступа соответствуют стандартным ACL. По умолчанию можно установить уровни:

  • private — полные права при наличии ключей доступа к бакету или аккаунту, всем остальным объект недоступен;
  • public-read — полные права при наличии ключей, остальным пользователям VK Object Storage и сторонним пользователям объект доступен только для чтения;
  • authenticated-read — полные права при наличии ключей, остальным пользователям VK Object Storage объект доступен только для чтения, сторонним пользователям объект недоступен.

Чтобы изменить уровень доступа к объекту:

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

  2. Выберите проект, в котором расположен бакет.

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

  4. Нажмите на имя бакета.

  5. Выполните одно из действий:

    • Выберите объекты или директории с помощью флажков и нажмите кнопку Доступ.
    • Нажмите  для объекта и выберите пункт Доступ к файлу.
    • Нажмите  для директории и выберите пункт Доступ к файлам в папке.
  6. В поле Настройка ACL выберите настройку доступа и нажмите Сохранить изменения. При выборе public-read или authenticated-read после сохранения изменений появится ссылка на доступ к объекту.

  7. Скопируйте ссылку и закройте окно настройки доступа.

  8. Отправьте ссылку пользователям или разместите ее на стороннем ресурсе для прямого доступа к объекту.

Копирование объектов

Инструкция подходит для копирования объектов в пределах одного бакета или между бакетами одного проекта.

Операция копирования выполняется только для несоставных объектов, поэтому максимальный размер копируемого объекта ограничен 32 ГБ.

  1. Установите и настройте AWS CLI, если он еще не установлен.

  2. В консоли выполните команду:

    aws s3 cp --recursive s3://<БАКЕТ_ИСТОЧНИК>/<КЛЮЧ_ОБЪЕКТА_ИСТОЧНИКА> s3://<БАКЕТ_ПРИЕМНИК>/<КЛЮЧ_ОБЪЕКТА_ПРИЕМНИКА> \   --endpoint-url <ENDPOINT_URL>

    Здесь:

    • --recursive — параметр, при использовании которого команда выполнится для всех объектов, расположенных в бакете или в указанной директории.

    • <БАКЕТ_ИСТОЧНИК> — имя бакета, из которого копируется объект.

    • <КЛЮЧ_ОБЪЕКТА_ИСТОЧНИКА> — полное имя копируемого объекта или директории, из которой копируются объекты, включая путь до нее.

    • <БАКЕТ_ПРИЕМНИК> — имя бакета, в который копируется объект. Если имена совпадают, объект копируется в тот же бакет.

    • <КЛЮЧ_ОБЪЕКТА_ПРИЕМНИКА> — полное имя объекта или директории, в которую копируются объекты, включая путь до нее.

    • <ENDPOINT_URL> — должен соответствовать региону аккаунта:

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

Описание доступных параметров для команды копирования объектов — в официальной документации AWS CLI.

Маркировка объектов тегами

Просмотреть теги объекта

Чтобы проверить теги объекта, выполните команду get-object-tagging.

  1. Установите и настройте AWS CLI, если он еще не установлен.

  2. В консоли выполните команду:

    aws s3api get-object-tagging \   --bucket <ИМЯ_БАКЕТА> \   --key <КЛЮЧ_ОБЪЕКТА> \   --endpoint-url=<ENDPOINT_URL>

    Здесь:

    • <ИМЯ_БАКЕТА> — имя бакета, присвоенное ему при создании.

    • <КЛЮЧ_ОБЪЕКТА> — полное имя объекта, включая путь до него.

    • <ENDPOINT_URL> — домен сервиса VK Object Storage, должен соответствовать региону аккаунта:

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

    Пример ответа:

    {    "TagSet": [        {            "Key": "key-object1",            "Value": "value-object1"        },        {            "Key": "key-object2",            "Value": "value-object2"        }    ]}

Скопировать объект с сохранением тегов

Чтобы сохранить теги при копировании объекта, выполните команду copy-object с опцией --tagging-directive COPY.

  1. Установите и настройте AWS CLI, если он еще не установлен.

  2. В консоли выполните команду:

    aws s3api copy-object \   --copy-source <ИМЯ_БАКЕТА_ИСТОЧНИКА>/<КЛЮЧ_ОБЪЕКТА_ИСТОЧНИКА> \   --bucket <ИМЯ_БАКЕТА_НАЗНАЧЕНИЯ> \   --key <КЛЮЧ_ОБЪЕКТА_НАЗНАЧЕНИЯ> \   --tagging-directive COPY \   --endpoint-url <ENDPOINT_URL>

    Здесь:

    • <ИМЯ_БАКЕТА_ИСТОЧНИКА> — имя бакета, из которого нужно скопировать объект.

    • <КЛЮЧ_ОБЪЕКТА_ИСТОЧНИКА> — полное имя копируемого объекта, включая путь до него.

    • <ИМЯ_БАКЕТА_НАЗНАЧЕНИЯ> — имя бакета, в который нужно скопировать объект.

    • <КЛЮЧ_ОБЪЕКТА_НАЗНАЧЕНИЯ> — полное имя для копии объекта, включая путь до него. Следуйте рекомендациям при выборе имен.

    • <ENDPOINT_URL> — домен сервиса VK Object Storage, должен соответствовать региону аккаунта:

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

Скопировать объект с заменой тегов

Чтобы заменить теги при копировании объекта, выполните команду copy-object с опцией --tagging-directive REPLACE.

  1. Установите и настройте AWS CLI, если он еще не установлен.

  2. В консоли выполните команду:

    aws s3api copy-object \   --copy-source <ИМЯ_БАКЕТА_ИСТОЧНИКА>/<КЛЮЧ_ОБЪЕКТА_ИСТОЧНИКА> \   --bucket <ИМЯ_БАКЕТА_НАЗНАЧЕНИЯ> \   --key <КЛЮЧ_ОБЪЕКТА_НАЗНАЧЕНИЯ> \   --tagging-directive REPLACE \   --tagging "<ТЕГИ>" \   --endpoint-url <ENDPOINT_URL>

    Здесь:

    • <ИМЯ_БАКЕТА_ИСТОЧНИКА> — имя бакета, из которого нужно скопировать объект.

    • <КЛЮЧ_ОБЪЕКТА_ИСТОЧНИКА> — полное имя копируемого объекта, включая путь до него.

    • <ИМЯ_БАКЕТА_НАЗНАЧЕНИЯ> — имя бакета, в который нужно скопировать объект.

    • <КЛЮЧ_ОБЪЕКТА_НАЗНАЧЕНИЯ> — полное имя для копии объекта, включая путь до него. Следуйте рекомендациям при выборе имен.

    • <ТЕГИ> — теги в формате <КЛЮЧ_1>=<ЗНАЧЕНИЕ_1>&...<КЛЮЧ_N>=<ЗНАЧЕНИЕ_N>. Например: Key1=Value1&Key2=Value2.

    • <ENDPOINT_URL> — домен сервиса VK Object Storage, должен соответствовать региону аккаунта:

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

Добавить тег при загрузке

Чтобы добавить тег к новому объекту при его загрузке, выполните команду put-object с опцией --tagging.

  1. Установите и настройте AWS CLI, если он еще не установлен.

  2. В консоли выполните команду:

    aws s3api put-object --endpoint-url <ENDPOINT_URL> --bucket <ИМЯ_БАКЕТА> --key <КЛЮЧ_ОБЪЕКТА> --body <ПУТЬ_К_ФАЙЛУ> --tagging "<ТЕГИ>"

    Здесь:

    • <ENDPOINT_URL> — домен сервиса VK Object Storage, должен соответствовать региону аккаунта:

      • https://hb.vkcloud-storage.ru или https://hb.ru-msk.vkcloud-storage.ru — домен региона Москва;
      • https://hb.kz-ast.vkcloud-storage.ru — домен региона Казахстан.
    • <ИМЯ_БАКЕТА> — имя бакета, присвоенное ему при создании.

    • <КЛЮЧ_ОБЪЕКТА> — полное имя объекта, включая путь до него. Следуйте рекомендациям при выборе имен.

    • <ПУТЬ_К_ФАЙЛУ> — путь к локальному файлу.

    • <ТЕГИ> — теги в формате <КЛЮЧ_1>=<ЗНАЧЕНИЕ_1>&...<КЛЮЧ_N>=<ЗНАЧЕНИЕ_N>. Например: Key1=Value1&Key2=Value2.

Добавить тег существующего объекта

Чтобы добавить тег к существующему объекту, выполните команду put-object-tagging с опцией --tagging и перечислением пар ключ/значение в формате JSON.

  1. Установите и настройте AWS CLI, если он еще не установлен.

  2. В консоли установите, например, два тега, выполнив команду:

    aws s3api put-object-tagging \   --bucket <ИМЯ_БАКЕТА> \   --key <КЛЮЧ_ОБЪЕКТА> \   --tagging '{      "TagSet": [         {           "Key": "<КЛЮЧ_ТЕГА_1>",           "Value": "<ЗНАЧЕНИЕ_ТЕГА_1>"         },         {            "Key": "<КЛЮЧ_ТЕГА_2>",            "Value": "<ЗНАЧЕНИЕ_ТЕГА_2>"         }      ]   }' \   --endpoint-url=<ENDPOINT_URL>

    Здесь:

    • <ИМЯ_БАКЕТА> — имя бакета, присвоенное ему при создании.

    • <КЛЮЧ_ОБЪЕКТА> — полное имя объекта, включая путь до него.

    • <КЛЮЧ_ТЕГА_1>, <ЗНАЧЕНИЕ_ТЕГА_1> и <КЛЮЧ_ТЕГА_2>, <ЗНАЧЕНИЕ_ТЕГА_2> — пары ключ/значение для тегов объекта.

    • <ENDPOINT_URL> — домен сервиса VK Object Storage, должен соответствовать региону аккаунта:

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

Удалить теги объекта

Чтобы проверить теги объекта, выполните команду get-object-tagging.

  1. Установите и настройте AWS CLI, если он еще не установлен.

  2. В консоли выполните команду:

    aws s3api delete-object-tagging \   --bucket <ИМЯ_БАКЕТА> \   --key <КЛЮЧ_ОБЪЕКТА> \   --endpoint-url=<ENDPOINT_URL>

    Здесь:

    • <ИМЯ_БАКЕТА> — имя бакета, присвоенное ему при создании.

    • <КЛЮЧ_ОБЪЕКТА> — полное имя объекта, включая путь до него.

    • <ENDPOINT_URL> — домен сервиса VK Object Storage, должен соответствовать региону аккаунта:

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

Удаление объектов

В этом разделе описано, как удалить объекты без установленной блокировки от удаления и перезаписи. О снятии и обходе блокировки — в разделе Блокировка удаления объектов.

Для удаления объектов:

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

  2. Выберите проект, в котором расположен бакет.

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

  4. Нажмите на имя бакета.

  5. Выполните одно из действий:

    • Выберите объекты или директории с помощью флажков и нажмите кнопку Удалить.
    • Нажмите  для объекта и выберите пункт Удалить файл.
    • Нажмите  для директории и выберите пункт Удалить папку.
  6. Подтвердите удаление.

Удаление частей загруженного объекта

Если составная загрузка не завершена, объект не создается и не может использоваться, но хранение загруженных частей тарифицируется. Чтобы средства не списывались, удаляйте составные загрузки, которые не будут завершены.

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

Чтобы узнать, есть ли у вас незавершенные составные загрузки:

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

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

  3. Нажмите на имя нужного бакета и перейдите на вкладку Multipart.

Чтобы удалить незавершенные загрузки:

Это групповая операция: при необходимости можно удалить сразу несколько частей, выбрав их с помощью флажков.

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

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

  3. Нажмите на имя нужного бакета и перейдите на вкладку Multipart.

  4. Выполните одно из действий для нужной части:

    • Выберите часть с помощью флажка, затем нажмите кнопку Удалить над таблицей.
    • Выберите часть, которую нужно удалить, и нажмите на значок Удалить справа.
  5. Подтвердите удаление.