Просмотр корзины S3 и файлов обработки

Как мне просмотреть корзину S3 и обработать файлы, которые были загружены в папку с именем in, а затем поместить их в папку с именем done?

Я конвертирую PDF-файлы в PNG для клиента и хотел бы, чтобы узел обработки не простаивал 90% времени. Было бы здорово, если бы был способ запустить инстанс EC2 после загрузки файла, выполнить обработку, а затем закрыть инстанс.

Любое руководство в этом будет с благодарностью.


person DigiLord    schedule 29.01.2014    source источник


Ответы (1)


Мое предложение было бы таким:

  • Загрузите файлы в S3, а затем сразу же добавьте сообщение/элемент в очередь SQS с именем файла, которое необходимо обработать.
  • Настройте политику автомасштабирования AWS, которая запускает экземпляры ec2 в зависимости от размера очереди (количества файлов, ожидающих обработки).
  • После того, как запущенный экземпляр ec2 обработает файл, он удалит элемент из очереди SQS.
  • Если больше нет элементов для обработки, экземпляры EC2 отключаются.

Однако следует иметь в виду, что когда вы запускаете экземпляр, вы платите за весь час, поэтому вы не хотите запускать экземпляр и выполнять работу на несколько минут, а затем выключать или сидеть без дела — лучше подождать, пока у вас есть достаточно работы, готовой к обработке в течение часа, если это возможно, т. е. когда очередь вырастет до определенного размера. - (быстро запускать экземпляры, но медленно их выключать)

Это идея высокого уровня... адаптируй, как считаешь нужным.

person E.J. Brennan    schedule 29.01.2014
comment
Мне нравится твоя идея. Я действительно не хочу откладывать, пока у меня не будет часа работы. Люди нетерпеливы и хотят, чтобы все произошло как можно быстрее. Мне нужно было бы написать приложение, которое будет находиться в экземпляре EC2, чтобы извлекать из очереди SQS, извлекать элементы из S3, обрабатывать их и, наконец, помещать результирующий продукт обработки обратно в S3, это правильно? - person DigiLord; 30.01.2014