Отслеживать массовые переходы из Glacier в стандартное хранилище - PullRequest
0 голосов
/ 25 марта 2019

Я начал массовую операцию восстановления S3 Glacier to Standard с использованием команды AWS CLI aws s3api restore-object с целью последующей загрузки и копирования файлов в другое место резервного копирования.

Я установил дни запросов на восстановление равными "1 день", чтобы избежать выставления счетов больше, чем нужно (AWS удалит восстановленную копию через 1 день после ее восстановления).

Однако мне трудно понять, какой из тысяч файлов, для которых я запросил восстановление, теперь готов к загрузке / копированию. Есть ли в интерфейсе API-интерфейс AWS или область, где я могу отслеживать текущие реставрации Glacier - оптом?

1 Ответ

0 голосов
/ 25 марта 2019

aws s3api head-object позволяет вам опросить объект, чтобы проверить его состояние восстановления.

Найти Restore в выходных данных.Это значение взято из x-amz-restore, как описано в разделе Действие API объекта HEAD Справочника по API S3.

Для объекта, который готов к загрузке, ongoing-request (независимо от того,Действие ледника еще не выполнено) установлено на false:

ongoing-request="false", expiry-date="Fri, 23 Dec 2012 00:00:00 GMT"

... в противном случае для объектов, которые еще не готовы, установлено значение true (восстановление продолжается), без указания срока действия:

ongoing-request="true"

Обратите внимание, что в SDK также доступны варианты head-object.В Node.JS это s3.headObject() ... в boto3, это client.head_object() ... и т. Д.


Вместо опроса, есть такжеупреждающий подход «push», использующий S3 Event Notification .

Настройка уведомления s3:ObjectRestore:Completed будет генерировать сообщения каждый раз, когда восстановленный объект готов.При желании вы также можете использовать s3:ObjectRestore:Post для захвата исходного запроса на восстановление объекта (запросов, которые, в данном случае, вы уже сделали).

Если вы включите эти s3:ObjectRestore:Completed уведомления, сейчасвы должны получать уведомление о событии для каждого объекта, когда он становится готовым, если объект еще не был готов при первой настройке уведомления.Для этого вам потребуется использовать метод опроса, описанный выше.

Уведомления о событиях S3 генерируют сообщения, которые можно публиковать в темах SNS, отправлять в очереди SQS или использовать в качестве полезной нагрузки для вызова функций Lambda.Если вы знакомы с какой-либо из этих технологий, может быть очевидно, как одна из них может быть полезна для подачи последующего процесса для выполнения необходимых последующих действий.

...