2017-01-16 17 views
0

При использовании службы A3 Amazon AWS существует простой способ проверить, имеет ли ВСЕ файлы в ковше свой класс хранения, установленный в «Стандартный», ?Как проверить, какие файлы не установлены в «Стандартный» класс хранения на ковке Amazon S3

Если у каких-либо файлов установлен «Стандартный - Редко доступный» или «Уменьшенное резервирование», мне нужен список со всеми этими файлами, поэтому я могу изменить класс хранения на «Стандартный».

-------- EDIT ---------

Я создал команду AWS CLI, который может сделать выше. Это выглядит следующим образом:

AWS s3api список-объекты --bucket myBucketName --query 'Содержание [] [= STANDARD Класс складирования?]. {Key: Ключ}'

(STANDARD должен быть окружен с ` но они почему-то не показывают.)

Но это заставило меня задуматься о том, какой именно запрос будет стоить на очень большом ковше с миллионами файлов. Если строка выше возвращает 5 файлов, будет ли я взиматься плата за 5 запросов, или я буду взимать плату за каждый отдельный файл, доступ к которому осуществляется при поиске?

ответ

0

Ваш лучший выбор - использовать новый "inventory" service на S3. Если вы перейдете на веб-консоль AWS и перейдете на страницу управления ведроми S3 (вам нужно использовать консоль нового стиля, если она запрашивает). Здесь вы можете выбрать «Инвентарь» и настроить экспорт. Здесь вы можете легко выбрать класс хранения.

NB: ведро вы экспортируете НУЖД, чтобы иметь правильные разрешения на получение экспорта запасов. Вы можете найти пример политики ведра в S3 documentation.

+0

Iam, способный изменить класс хранения для всех моих файлов, но то, что я хочу сделать, это создать скрипт, который может показать мне список всех файлов, которые не настроены на «Стандартные», , Fx, чтобы проверить, добавил ли кто-то новый файл с классом хранения, установленным, например. «Сокращение избыточности» по ошибке. Перхабы хотя AWS CLI? – Michael

+0

Вы можете использовать AWS CLI, но это будет довольно дорого в зависимости от количества объектов в вашем ковше. Если вы можете подождать 24-48 часов, это будет намного дешевле (коэффициент 1000) для извлечения списка с использованием инвентаря ковша. – Exelian

0

Но это заставило меня задуматься о том, какой именно запрос будет стоить на очень большом ковше с миллионами файлов. Если строка выше возвращает 5 файлов, будет ли я взиматься плата за 5 запросов, или я буду взимать плату за каждый отдельный файл, доступ к которому осуществляется при поиске?

Отфильтровано на клиенте. Вы будете платить за каждый запрос ListObjects, который возвращает 1000 объектов с каждым вызовом по умолчанию под aws s3api list-objects. Стоимость в наименее дорогих регионах, таких как us-east-1 и us-east-2, составляет 0,005 доллара США за 1000 запросов LIST. (Не для каждого объекта, для каждого запроса.) Поскольку каждый запрос возвращает 1000 объектов, стоимость для итерации через 2000 000 объектов составляет около 0,01 доллара, что кажется довольно разумным. Некоторые другие регионы немного выше.

Запуск внутри EC2 в том же регионе, что и ведро, вы не будете оплачивать связанные с этим расходы на передачу данных, и у вас будет лучшая производительность из-за очень низкой задержки. Bemchmarks, который я недавно сделал, предполагает, что вы могли бы иметь возможность сканировать миллион объектов менее чем за 10 минут. Это относительно быстро, потому что вам нужно только перебирать листинг, потому что класс хранения является одним из атрибутов, возвращаемых в списках объектов.

Использование разумной осторожности при переключении объектов из STANDARD_IA, потому что, если объект перемещается из STANDARD_IA прежде, чем это было в этом классе, по крайней мере, 30 дней, вы все равно будете взимаемых за mimumum плату хранения 30 дней, который применяется для всех объектов этого класса.

+0

Хорошо, это имеет смысл. Ty для уточнения. – Michael

0

Я закончил использовать AWS CLI.Спасибо за помощь :)