Управление объектами в бакете
-
Войдите в личный кабинет IAM Only.
-
Выберите проект, в котором расположен бакет.
-
Перейдите в раздел Объектное хранилище → Бакеты.
-
Нажмите на имя бакета. Откроется список объектов в бакете.
-
(Опционально) Отсортируйте список по имени объекта, используя стрелки в заголовке соответствующего столбца.
- Порядок при сортировке по возрастанию:
A–Z/a–z/A–Я/а–я/ спецсимволы по возрастанию ASCII-значений /0–9. - Порядок при сортировке по убыванию:
9–0/ спецсимволы по убыванию ASCII-значений /я–а/Я–А/z–a/Z–A.
- Порядок при сортировке по возрастанию:
-
Войдите в личный кабинет IAM Only.
-
Выберите проект, в котором расположен бакет.
-
Перейдите в раздел Объектное хранилище → Бакеты.
-
Нажмите на имя бакета.
-
Нажмите на имя объекта. Откроется страница его свойств:
- Название — имя объекта.
- Размер — размер объекта.
- Владелец объекта — идентификатор проекта, к которому относится объект.
- Класс хранения — класс хранения объекта.
- Дата создания — дата и время добавления объекта в бакет.
- Дата изменения — дата и время последнего изменения объекта.
- Ссылка на объект — ссылка на скачивание объекта. Ссылку можно скопировать, нажав на значок
справа от нее.
- ETag — контрольная сумма объекта, используемая для проверки его целостности при составной загрузке. Контрольную сумму можно скопировать, нажав на значок
справа от нее.
- Доступ к файлу — список управления доступом (ACL) назначенный объекту.
-
Войдите в личный кабинет IAM Only.
-
Выберите проект, в котором расположен бакет.
-
Перейдите в раздел Объектное хранилище → Бакеты.
-
Нажмите на имя бакета.
-
Выполните одно из действий:
- Выберите объект с помощью флажка и нажмите кнопку Скачать.
- Нажмите
для объекта и выберите пункт Скачать файл.
Загруженные в бакет объекты по умолчанию имеют уровень доступа private, то есть их можно скачать только:
- в личном кабинете IAM Only;
- через CLI, API, SDK и файловые менеджеры, если есть ключи доступа к бакету или аккаунту.
Вы можете изменить уровень доступа объекта, чтобы сделать его доступным сторонним пользователям. Уровни доступа соответствуют стандартным ACL. По умолчанию можно установить уровни:
private— полные права при наличии ключей доступа к бакету или аккаунту, всем остальным объект недоступен;public-read— полные права при наличии ключей, остальным пользователям VK Object Storage и сторонним пользователям объект доступен только для чтения;authenticated-read— полные права при наличии ключей, остальным пользователям VK Object Storage объект доступен только для чтения, сторонним пользователям объект недоступен.
Чтобы изменить уровень доступа к объекту:
-
Войдите в личный кабинет IAM Only.
-
Выберите проект, в котором расположен бакет.
-
Перейдите в раздел Объектное хранилище → Бакеты.
-
Нажмите на имя бакета.
-
Выполните одно из действий:
- Выберите объекты или директории с помощью флажков и нажмите кнопку Доступ.
- Нажмите
для объекта и выберите пункт Доступ к файлу.
- Нажмите
для директории и выберите пункт Доступ к файлам в папке.
-
В поле Настройка ACL выберите настройку доступа и нажмите Сохранить изменения. При выборе
public-readилиauthenticated-readпосле сохранения изменений появится ссылка на доступ к объекту. -
Скопируйте ссылку и закройте окно настройки доступа.
-
Отправьте ссылку пользователям или разместите ее на стороннем ресурсе для прямого доступа к объекту.
Инструкция подходит для копирования объектов в пределах одного бакета или между бакетами одного проекта.
Операция копирования выполняется только для несоставных объектов, поэтому максимальный размер копируемого объекта ограничен 32 ГБ.
-
Установите и настройте AWS CLI, если он еще не установлен.
-
В консоли выполните команду:
aws s3 cp --recursive s3://<БАКЕТ_ИСТОЧНИК>/<КЛЮЧ_ОБЪЕКТА_ИСТОЧНИКА> s3://<БАКЕТ_ПРИЕМНИК>/<КЛЮЧ_ОБЪЕКТА_ПРИЕМНИКА> \--endpoint-url <ENDPOINT_URL>Здесь:
-
--recursive— параметр, при использовании которого команда выполнится для всех объектов, расположенных в бакете или в указанной директории. -
<БАКЕТ_ИСТОЧНИК>— имя бакета, из которого копируется объект. -
<КЛЮЧ_ОБЪЕКТА_ИСТОЧНИКА>— полное имя копируемого объекта или директории, из которой копируются объекты, включая путь до нее. -
<БАКЕТ_ПРИЕМНИК>— имя бакета, в который копируется объект. Если имена совпадают, объект копируется в тот же бакет. -
<КЛЮЧ_ОБЪЕКТА_ПРИЕМНИКА>— полное имя объекта или директории, в которую копируются объекты, включая путь до нее. -
<ENDPOINT_URL>— ссылка с доменным именем, которое используется в вашей инсталляции VK Object Storage. Формат имени может отличаться. Чтобы узнать точный формат ссылки обратитесь к вашему администратору.
-
Описание доступных параметров для команды копирования объектов — в официальной документации AWS CLI.
Чтобы проверить теги объекта, выполните команду get-object-tagging.
-
Установите и настройте AWS CLI, если он еще не установлен.
-
В консоли выполните команду:
aws s3api get-object-tagging \--bucket <ИМЯ_БАКЕТА> \--key <КЛЮЧ_ОБЪЕКТА> \--endpoint-url=<ENDPOINT_URL>Здесь:
-
<ИМЯ_БАКЕТА>— имя бакета, присвоенное ему при создании. -
<КЛЮЧ_ОБЪЕКТА>— полное имя объекта, включая путь до него. -
<ENDPOINT_URL>— ссылка с доменным именем, которое используется в вашей инсталляции VK Object Storage. Формат имени может отличаться. Чтобы узнать точный формат ссылки обратитесь к вашему администратору.
Пример ответа:
{"TagSet": [{"Key": "key-object1","Value": "value-object1"},{"Key": "key-object2","Value": "value-object2"}]} -
Чтобы сохранить теги при копировании объекта, выполните команду copy-object с опцией --tagging-directive COPY.
-
Установите и настройте AWS CLI, если он еще не установлен.
-
В консоли выполните команду:
aws s3api copy-object \--copy-source <ИМЯ_БАКЕТА_ИСТОЧНИКА>/<КЛЮЧ_ОБЪЕКТА_ИСТОЧНИКА> \--bucket <ИМЯ_БАКЕТА_НАЗНАЧЕНИЯ> \--key <КЛЮЧ_ОБЪЕКТА_НАЗНАЧЕНИЯ> \--tagging-directive COPY \--endpoint-url <ENDPOINT_URL>Здесь:
-
<ИМЯ_БАКЕТА_ИСТОЧНИКА>— имя бакета, из которого нужно скопировать объект. -
<КЛЮЧ_ОБЪЕКТА_ИСТОЧНИКА>— полное имя копируемого объекта, включая путь до него. -
<ИМЯ_БАКЕТА_НАЗНАЧЕНИЯ>— имя бакета, в который нужно скопировать объект. -
<КЛЮЧ_ОБЪЕКТА_НАЗНАЧЕНИЯ>— полное имя для копии объекта, включая путь до него. Следуйте рекомендациям при выборе имен. -
<ENDPOINT_URL>— ссылка с доменным именем, которое используется в вашей инсталляции VK Object Storage. Формат имени может отличаться. Чтобы узнать точный формат ссылки обратитесь к вашему администратору.
-
Чтобы заменить теги при копировании объекта, выполните команду copy-object с опцией --tagging-directive REPLACE.
-
Установите и настройте AWS CLI, если он еще не установлен.
-
В консоли выполните команду:
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. Формат имени может отличаться. Чтобы узнать точный формат ссылки обратитесь к вашему администратору.
-
Чтобы добавить тег к новому объекту при его загрузке, выполните команду put-object с опцией --tagging.
-
Установите и настройте AWS CLI, если он еще не установлен.
-
В консоли выполните команду:
aws s3api put-object --endpoint-url <ENDPOINT_URL> --bucket <ИМЯ_БАКЕТА> --key <КЛЮЧ_ОБЪЕКТА> --body <ПУТЬ_К_ФАЙЛУ> --tagging "<ТЕГИ>"Здесь:
-
<ENDPOINT_URL>— ссылка с доменным именем, которое используется в вашей инсталляции VK Object Storage. Формат имени может отличаться. Чтобы узнать точный формат ссылки обратитесь к вашему администратору. -
<ИМЯ_БАКЕТА>— имя бакета, присвоенное ему при создании. -
<КЛЮЧ_ОБЪЕКТА>— полное имя объекта, включая путь до него. Следуйте рекомендациям при выборе имен. -
<ПУТЬ_К_ФАЙЛУ>— путь к локальному файлу. -
<ТЕГИ>— теги в формате<КЛЮЧ_1>=<ЗНАЧЕНИЕ_1>&...<КЛЮЧ_N>=<ЗНАЧЕНИЕ_N>. Например:Key1=Value1&Key2=Value2.
-
Чтобы добавить тег к существующему объекту, выполните команду put-object-tagging с опцией --tagging и перечислением пар ключ/значение в формате JSON.
-
Установите и настройте AWS CLI, если он еще не установлен.
-
В консоли установите, например, два тега, выполнив команду:
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. Формат имени может отличаться. Чтобы узнать точный формат ссылки обратитесь к вашему администратору.
-
Чтобы проверить теги объекта, выполните команду get-object-tagging.
-
Установите и настройте AWS CLI, если он еще не установлен.
-
В консоли выполните команду:
aws s3api delete-object-tagging \--bucket <ИМЯ_БАКЕТА> \--key <КЛЮЧ_ОБЪЕКТА> \--endpoint-url=<ENDPOINT_URL>Здесь:
-
<ИМЯ_БАКЕТА>— имя бакета, присвоенное ему при создании. -
<КЛЮЧ_ОБЪЕКТА>— полное имя объекта, включая путь до него. -
<ENDPOINT_URL>— ссылка с доменным именем, которое используется в вашей инсталляции VK Object Storage. Формат имени может отличаться. Чтобы узнать точный формат ссылки обратитесь к вашему администратору.
-
В этом разделе описано, как удалить объекты без установленной блокировки от удаления и перезаписи. О снятии и обходе блокировки — в разделе Блокировка удаления объектов.
Для удаления объектов:
-
Войдите в личный кабинет IAM Only.
-
Выберите проект, в котором расположен бакет.
-
Перейдите в раздел Объектное хранилище → Бакеты.
-
Нажмите на имя бакета.
-
Выполните одно из действий:
- Выберите объекты или директории с помощью флажков и нажмите кнопку Удалить.
- Нажмите
для объекта и выберите пункт Удалить файл.
- Нажмите
для директории и выберите пункт Удалить папку.
-
Подтвердите удаление.
Если составная загрузка не завершена, объект не создается и не может использоваться.
Вы можете настроить автоматическое удаление незавершенных загрузок через жизненный цикл объектов или удалить загрузку вручную.
Чтобы узнать, есть ли у вас незавершенные составные загрузки:
-
Войдите в личный кабинет IAM Only.
-
Перейдите в раздел Объектное хранилище → Бакеты.
-
Нажмите на имя нужного бакета и перейдите на вкладку Multipart.
Чтобы удалить незавершенные загрузки:
Это групповая операция: при необходимости можно удалить сразу несколько частей, выбрав их с помощью флажков.
-
Войдите в личный кабинет IAM Only.
-
Перейдите в раздел Объектное хранилище → Бакеты.
-
Нажмите на имя нужного бакета и перейдите на вкладку Multipart.
-
Выполните одно из действий для нужной части:
- Выберите часть с помощью флажка, затем нажмите кнопку Удалить над таблицей.
- Выберите часть, которую нужно удалить, и нажмите на значок
справа.
-
Подтвердите удаление.