TLDR; Вместо того, чтобы вызывать уведомления о "создании файла" вручную в "публикации лямбда", уведомления о событиях S3 автоматически вызывают вашу "обработку лямбда" при создании целевого файла. Лямбда - код выполняется до завершения, когда существуют оба файла.
документы: Amazon S3 может отправлять событие в лямбда-функцию при создании или удалении объекта.
(1) Создайте уведомления о событиях S3: Добавьте два уведомления о событиях в корзину. Один вызывает обрабатывающую лямбду, когда FileA
создается на S3. Другой вызывает его, когда FileB
создается.
Вы можете установить фильтры, чтобы ваш lambda получал уведомления только об определенных действиях S3 и шаблонах файлов.
(2) Обрабатывающий лямбда-код проверяет, существует ли другой файл. Событие S3, переданное лямбде, содержит информацию о событии запуска (например ObjectCreated
) и объект (например, имя ключа, версия, корзина и т. Д.) Используйте пакет SDK AWS, Чтобы проверить, существует ли другой файл в S3.
Если оба файла существуют, вызовите процедуру склеивания, в противном случае завершите работу.
50% времени, в течение которого лямбда-код обработки завершится раньше (поскольку существует только 1 файл). В других случаях лямбда будет проходить весь путь до процедуры склеивания.
(Примечание: это будет работать только в том случае, если вы можете получить одно имя файла из другого, что неясно из ОП или комментариев.)