Удаление частично загруженного объекта
Объект может быть загружен не полностью при использовании составной загрузки.
Примечание
Для автоматического удаления частично загруженных объектов в Object Storage настройте правило жизненных циклов.
Чтобы удалить частично загруженный объект вручную:
- В консоли управления
выберите каталог. - Перейдите в сервис Object Storage.
- В строке с нужным бакетом в колонке Кол-во объектов наведите указатель на желтое поле с количеством частично загруженных объектов.
- В открывшемся окне нажмите Показать список.
- Отметьте незавершенные загрузки, которые нужно удалить.
- Нажмите кнопку Удалить.
- Подтвердите удаление.
В консоли управления информация о количестве объектов в бакете и занятом месте обновляется с задержкой в несколько минут.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Получите список незавершенных составных загрузок:
-
Посмотрите описание команды CLI для получения списка незавершенных составных загрузок в бакете:
yc storage s3api list-multipart-uploads --help -
Получите список бакетов в каталоге по умолчанию:
yc storage bucket listРезультат:
+------------------+----------------------+-------------+-----------------------+---------------------+ | NAME | FOLDER ID | MAX SIZE | DEFAULT STORAGE CLASS | CREATED AT | +------------------+----------------------+-------------+-----------------------+---------------------+ | first-bucket | b1gmit33ngp6******** | 53687091200 | STANDARD | 2022-12-16 13:58:18 | +------------------+----------------------+-------------+-----------------------+---------------------+ -
Выполните команду, указав имя нужного бакета:
yc storage s3api list-multipart-uploads \ --bucket <имя_бакета>Результат:
bucket: first-bucket max_uploads: "1000" uploads: - key: video.mp4 upload_id: 000629B7******** initiator: id: ajeol2afu1js******** display_name: ajeol2afu1js******** owner: id: ajeol2afu1js******** display_name: ajeol2afu1js******** storage_class: STANDARD initiated_at: "2024-12-20T18:05:07.312Z" - key: video1.mp4 upload_id: 000629B7******** initiator: id: ajeol2afu1js******** display_name: ajeol2afu1js******** owner: id: ajeol2afu1js******** display_name: ajeol2afu1js******** storage_class: STANDARD initiated_at: "2024-12-20T18:20:15.747Z" request_id: 75dbac97********Сохраните значение идентификатора составной загрузки (
uploads.upload_id) частично загруженного объекта, который вы хотите удалить. Это значение понадобится на следующем шаге.Подробнее о команде
yc storage s3api list-multipart-uploadsчитайте в справочнике CLI.
-
-
Удалите частично загруженный объект:
-
Посмотрите описание команды CLI для удаления частично загруженного объекта:
yc storage s3api abort-multipart-upload --help -
Выполните команду:
yc storage s3api abort-multipart-upload \ --bucket <имя_бакета> \ --key <ключ_объекта> \ --upload-id <идентификатор_составной_загрузки>Где:
--bucket— имя бакета, в котором вы хотите удалить частично загруженный объект.--key— ключ объекта, который нужно удалить.--upload-id— значение идентификатора составной загрузки, полученное на предыдущем шаге.
Результат:
request_id: 573ea6e2********Подробнее о команде
yc storage s3api abort-multipart-uploadчитайте в справочнике CLI.
-
Если у вас еще нет AWS CLI, установите и сконфигурируйте его.
-
Получите список незавершенных составных загрузок:
-
Получите список доступных бакетов:
aws s3api list-buckets \ --endpoint-url=https://storage.yandexcloud.kzРезультат:
{ "Buckets": [ { "Name": "new-bucket", "CreationDate": "2024-12-20T17:48:17+00:00" }, { "Name": "first-bucket", "CreationDate": "2023-12-28T12:20:49.538000+00:00" } ], "Owner": { "DisplayName": "", "ID": "" } } -
Выполните команду, указав имя нужного бакета:
aws s3api list-multipart-uploads \ --endpoint-url=https://storage.yandexcloud.kz \ --bucket <имя_бакета>Результат:
{ "Uploads": [ { "UploadId": "000629C2********", "Key": "video.mp4", "Initiated": "2024-12-21T07:40:03.562000+00:00", "StorageClass": "STANDARD", "Owner": { "DisplayName": "ajegtlf2q28a********", "ID": "ajegtlf2q28a********" }, "Initiator": { "ID": "ajegtlf2q28a********", "DisplayName": "ajegtlf2q28a********" } }, { "UploadId": "000629C2********", "Key": "video1.mp4", "Initiated": "2024-12-21T07:42:39.492000+00:00", "StorageClass": "STANDARD", "Owner": { "DisplayName": "ajegtlf2q28a********", "ID": "ajegtlf2q28a********" }, "Initiator": { "ID": "ajegtlf2q28a********", "DisplayName": "ajegtlf2q28a********" } } ], "RequestCharged": null }Сохраните значение идентификатора составной загрузки (
Uploads.UploadId) частично загруженного объекта, который вы хотите удалить. Это значение понадобится на следующем шаге.
-
-
Удалите частично загруженный объект:
aws s3api abort-multipart-upload \ --endpoint-url=https://storage.yandexcloud.kz \ --bucket <имя_бакета> \ --key <ключ_объекта> \ --upload-id <идентификатор_составной_загрузки>Где:
--bucket— имя бакета, в котором вы хотите удалить частично загруженный объект.--key— ключ объекта, который нужно удалить.--upload-id— значение идентификатора составной загрузки, полученное на предыдущем шаге.
Чтобы получить список составных загрузок, воспользуйтесь методом S3 API listUploads.
Чтобы удалить частично загруженный объект, воспользуйтесь методом S3 API abortUpload.