AWS Лямбда-функция не запускается S3 после загрузки - PullRequest
0 голосов
/ 30 января 2020

У меня проблема с AWS Lambda и S3.

Я развернул всю свою архитектуру AWS с помощью terraform. У меня есть корзина, в которой я могу загрузить XML файлы, которые запускают лямбду для обработки этих файлов (события хорошо информированы).

Проблема заключается в том, что после развертывания моей архитектуры, когда я сбрасываю XML файл в моем ведре, ничего не происходит первые несколько раз. Как будто первые файлы, которые я загружаю, не принимаются во внимание, и S3 не отправляет уведомление в Lambda.

Иногда мне приходится отправлять несколько файлов в S3, прежде чем он начинает учитываться, или я изменяю с помощью GUI уведомления в консоли S3, ничего не меняя и просто нажав «Сохранить». Я не знаю, как исследовать эту проблему.

Не могли бы вы сказать мне, был ли у кого-нибудь подобный случай? Кроме того, знаете ли вы, можно ли просмотреть историю всего, что происходит в корзине S3 (загруженные файлы, отправленные события, ...), чтобы исследовать мою проблему?

Заранее спасибо.

1 Ответ

0 голосов
/ 31 января 2020

Ключ к тому, что вы испытываете, заключается в том, что это происходит сразу после того, как вы создали контейнер и триггер. Многие AWS системы имеют модель конечной согласованности. В случае S3 оба объекта и группы имеют возможную согласованность в 3 зонах доступности.

Короче говоря, вы помещаете объект в один из экземпляров S3 до запуска события в этом экземпляре S3.

...