AWS Лямбда-сценарий использования: обработка CSV, сравнение значений с записями в базе данных - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть особое требование для обработки CSV строк, каждая из которых содержит идентификатор строки базы данных и другую основную c информацию (цены, объем запасов и т. Д. c).

В настоящее время файл загружается через мой Restful API, затем обработка происходит на экземплярах EC2, которые подключены к БД. Он просматривает каждую строку, проверяет, есть ли соответствующий идентификатор строки в БД, если это так, он обновляет значения существующей строки, в противном случае он создает новую строку в базе данных.

Кроме того, если есть какие-либо ошибки в CSV (проблемы проверки и т. д. c), то я не обрабатываю ни одну из строк и не завершаю процесс полностью (с сообщениями об ошибках).

Вопрос в том, Я конвертирую это в лямбда-функцию, мне также понадобится код проверки идентификатора БД в лямбда-выражении? Я полагаю, что это замедлило бы работу Lambda, если бы пришлось обрабатывать большой CSV.

Один из подходов состоит в том, чтобы иметь одну функцию для первоначальной проверки CSV на наличие ошибок и разделения CSV на части строк, а затем для помещения их в очередь (SQS?), Чтобы иметь отдельные Lambdas для просмотра очереди. и процесс добавления / обновления каждого в базе данных. Это звучит как разумное решение?

1 Ответ

1 голос
/ 13 февраля 2020

Ваш рекомендуемый подход для проверки CSV и последующей отправки каждой задачи обновления в очередь SQS звучит вполне разумно. Я рекомендую придерживаться этого подхода.

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