Соединение S3 - Лямбда - EC2 - Elasticsearch - PullRequest
0 голосов
/ 23 февраля 2019

В моем проекте пользователи загружают изображения в корзину S3.Я создал тензорную модель пересчета потока для интерпретации содержимого изображения.На основании интерпретации тензорного потока данные должны храниться в экземпляре эластичного поиска.

Для этого я создал S3 Bucket, лямбда-функцию, которая запускается при загрузке изображения, и экземпляр AWSasticsearch.Так как мои модели tf большие, я сжал их, положил в корзину S3 и загрузил URL-адрес s3 в lambda.

Проблема: поскольку мои разархивированные файлы были размером более 266 МБ, я не смог выполнить лямбда-функцию.

Альтернативный подход: вместо S3 Bucket - я думаю о создании экземпляра ec2 - сбольший размер тома для хранения изображений и получения изображений непосредственно в экземпляр ec2 вместо s3.Однако, поскольку я буду получать изображения миллионами в течение года, я не уверен, что это будет масштабируемым.

1 Ответ

0 голосов
/ 23 февраля 2019

Я могу подумать о двух подходах:

  1. Вы загружаете приложение сбоку.Лямбда может быть небольшим загрузочным скриптом, который загружает ваше приложение с s3 и распаковывает его.Это популярный шаблон для серверных фреймворков.Вы платите за это во время холодного запуска лямбды, поэтому вам нужно будет держать его в тепле в рабочей среде.

  2. Вы можете хранить изображения в самой s3 и создавать события при загрузке изображений с помощьюSQS назначения.Затем вы можете использовать ec2, чтобы периодически получать сообщения sqs для новых сообщений и обрабатывать их, используя ваши модели tf.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...