Лямбда для копирования CSV-файлов между двумя папками в S3 более 15 минут - PullRequest
1 голос
/ 21 марта 2020

Каков хороший способ скопировать кучу csv-файлов между двумя папками S3 с помощью Lambda (время работы может превышать 15 минут)? Есть ли способ сделать асин c вызов с использованием boto3 и позволить лямбда-уведомлениям, как только будет завершено копирование файла.

Спасибо.

1 Ответ

0 голосов
/ 21 марта 2020

Я бы порекомендовал посмотреть на Amazon S3 Batch Operations для этого. Шаги будут выглядеть примерно так:

  • Пусть ваша функция Lambda создаст новый файл манифеста CSV, описывающий операции копирования, которые вы хотите выполнить, и загрузите этот файл манифеста в какое-то место S3.
  • Создайте задание пакетных операций S3 , указав его на ранее созданный файл манифеста CSV.
    • В качестве одного из параметров пакетного задания настройте его для создания отчета о завершении, который будет сохранен в заданном c S3 сегменте и префиксе.
  • Есть другая лямбда-функция, подписанная на новые события объекта S3 с корзиной и префиксом S3, в которой будут храниться отчеты о завершении задания. Когда эта лямбда-функция запускается, вы можете перейти к любому логу программы c, который необходим после завершения копирования.
...