Restoring a small number of objects from AWS S3 Glacier is not a problem: you can use the AWS Web Console
and restore them in the GUI. But if you need to restore a LOT of objects, the manual approach is not feasible.
With S3Express, it is easy to restore multiple objects using the restore command. The restore command in S3Express fully supports file masks and conditions, so you can restore objects based on name, extension, size, ACL, metadata, time, age and much more. See S3Express Restore Command for all details.
Some examples of commands that can be issued are:
restore mybucket/a.txt -days:5 -tier:Expedited
restore *.jpg -s -days:10 -tier:Bulk
restore mybucket/* -s -days:1 (restore all objects in mybucket and subfolders for 1 day)
restore "mybucket/my folder/.*\.txt|.*\.vsn" -r -days:2 (restore all
objects with extension txt or vsn in mybucket/my folder/ for 2 days)
restore mybucket/^r.* -r -days:2 (restore all objects starting with 'r' in mybucket for 2 days)
restore mybucket -cond:"name starts_with 'a'" - days:7 (restore all objects in mybucket (non-recursive) if name starting with a)
restore mybucket -s -cond:"extract_value(cache-control,'max-age') > 0" -days:1 (restore all objects in mybucket (recursive, include subfolders) for 1 day if cache-control:max-age > 0 in the metadata)
See S3Express Restore Command for all details.