Как минимизировать чтение S3 при дублировании всех входящих данных в БД, а также в другое место? - PullRequest
0 голосов
/ 04 июля 2019

У меня есть устройства, отправляющие изображения на S3. Мне нужно получить метаданные из S3 и поместить их в БД, а затем скопировать изображение в контейнер хранения BLOB-объектов Azure.

В целом это означает 2 чтения на элемент: 1) Лямбда читает метаданные из S3 для помещения в БД 2) лямбда считывает образ с S3 для помещения в контейнер хранения

Можно ли получить метаданные и ключ одним вызовом boto3?

Еще лучше, возможно ли заставить S3 отправить изображение и метаданные в качестве события в Lambda? Размеры изображений не превышают 20 КБ, а метаданных - 800 байт.

1 Ответ

1 голос
/ 04 июля 2019

S3 отправляет ключ в лямбду как событие.Вы не можете заставить его отправлять метаданные или сам объект.Однако метод Boto3 get_object позволяет получать как потоковые данные, так и метаданные, используя один вызов.

Таким образом, вы можете использовать событие для запуска лямбда-ключа, а затем использовать get_object для выполнения обеих операций.

...