У меня есть особое требование для обработки CSV строк, каждая из которых содержит идентификатор строки базы данных и другую основную c информацию (цены, объем запасов и т. Д. c).
В настоящее время файл загружается через мой Restful API, затем обработка происходит на экземплярах EC2, которые подключены к БД. Он просматривает каждую строку, проверяет, есть ли соответствующий идентификатор строки в БД, если это так, он обновляет значения существующей строки, в противном случае он создает новую строку в базе данных.
Кроме того, если есть какие-либо ошибки в CSV (проблемы проверки и т. д. c), то я не обрабатываю ни одну из строк и не завершаю процесс полностью (с сообщениями об ошибках).
Вопрос в том, Я конвертирую это в лямбда-функцию, мне также понадобится код проверки идентификатора БД в лямбда-выражении? Я полагаю, что это замедлило бы работу Lambda, если бы пришлось обрабатывать большой CSV.
Один из подходов состоит в том, чтобы иметь одну функцию для первоначальной проверки CSV на наличие ошибок и разделения CSV на части строк, а затем для помещения их в очередь (SQS?), Чтобы иметь отдельные Lambdas для просмотра очереди. и процесс добавления / обновления каждого в базе данных. Это звучит как разумное решение?