You can also use the AWS CLI tool (here I assume that you want to restore all files in one directory):
aws s3 ls s3://myBucket/myDir/ | awk '{if ($4) print $4}' > myFiles.txt for x in `cat myFiles.txt` do echo "restoring $x" aws s3api restore-object \ --bucket myBucket \ --key "myDir/$x" \ --restore-request '{"Days":30}' done
As for your desire for notification, the CLI tool will report “A client error has occurred (RestoreAlreadyInProgress): object recovery is already in progress” if the request has already been started, and possibly another message after it has been restored. You can run this restore command several times by looking for the "restore done" error message. Pretty hacked, of course; probably the best way with the AWS CLI tool.
Caution: be careful with Glacier recovery exceeding the allotted amount / free recovery period. If you restore too much data too quickly, fees can exponentially accumulate.
source share