Помимо ограничения времени лямбды, вы можете столкнуться с ограничением памяти лямбда, когда вы читаете файл в AWS Lambda, поскольку лямбда имеет только /tmp
хранилище каталогов 512 МБ, и это опять-таки зависит от того, как вы читаете файл в лямбде.
Если вы не хотите go с помощью AWS Glue или EMR, еще одна вещь, которую вы можете сделать, это предоставить EC2 и запустить оттуда тот же код, который вы запускаете в лямбде. Чтобы сделать его экономически эффективным, вы можете сделать EC2 переходным, то есть подготовить его, когда вам нужно запустить задание S3 для DynamoDB, и завершить его, когда задание будет завершено. Эта переходная природа может быть достигнута с помощью лямбда-функции. Вы также можете организовать то же самое с помощью пошаговых функций. Другой вариант, с которым вы можете ознакомиться - через AWS Datapipeline.