Облачное хранилище S3 поддерживает параллельную и многопоточную загрузку файлов. Однако во время работы с большими объектами возможны случаи, когда загрузка прерывается и в хранилище остаются частично загруженные данные. Это может привести к накоплению ненужных объектов, увеличению расходов и путанице. Если вы столкнулись с такой ситуацией, необходимо удалить частично загруженные объекты. О том, как это сделать, расскажем ниже.
Удаление через AWS CLI
Чтобы воспользоваться этим способом, вам понадобится AWS CLI — интерфейс командной строки для работы с сервисами AWS.
Как установить и сконфигурировать AWS CLI
Чтобы установить и сконфигурировать AWS CLI:
-
1
Скачайте AWS CLI на сайте разработчика.
-
2
Введите команду:
aws configure
-
3
Укажите значения для следующих параметров:
- AWS Access Key ID — идентификатор ключа Access key,
- WS Secret Access Key — секретный ключ Secret access key,
- Default region name — оставьте поле пустым.
Посмотреть значения Access key и Secret access key можно в панели облака Рег.ру в разделе Хранилище S3 > Подключение.
Чтобы удалить частично загруженный объект, выполните следующую команду:
aws --endpoint-url=https://{{ s3-storage-host }} s3api abort-multipart-upload \
--bucket <имя_бакета> \
--key <ключ_объекта> \
--upload-id <идентификатор_загрузки>
Если вы не знаете идентификатор загрузки, найдите его в списке загрузок с помощью команды:
aws --endpoint-url=https://{{ s3-storage-host }} s3api list-multipart-uploads \
--bucket <имя_бакета>
Удаление через API
Чтобы удалить частично загруженный объект, воспользуйтесь методом S3 API abortUpload:
DELETE /{bucket}/{key}?uploadId=UploadId HTTP/2
Где:
- bucket — имя бакета,
- key — ключ объекта,
- uploadId — идентификатор загрузки.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊