Короткая версия: Попробуйте увеличить значения тайм-аута в конфигурации функции лямбда.
Длинная версия:
Я предполагаю, что вы работаете в лямбда-функции приурочено здесь.
События S3 являются асинхронными по своей природе, и функция лямбда, прослушивающая события S3, решается как минимум 3 раза, прежде чем это событие будет отклонено. Вы упомянули, что ваша лямбда-функция выполняется только один раз (без ошибок) при загрузке меньшего размера, при которой вы выполняете конвертацию и повторно загружаете. Существует вероятность того, что время, необходимое для преобразования и повторной загрузки из вашего кода, больше, чем время ожидания вашей лямбда-функции.
Таким образом, вы можете попробовать увеличить настройку тайм-аута в конфигурации вашей лямбда-функции.
Кстати, один из способов подтверждения того, что ваша функция лямбды вызываются несколько раз, чтобы посмотреть в cloudwatch журналы для идентификатора события (67fe6073-e19c-11e5-1111-6bqw43hkbea3) Происшествия -
START RequestId: 67jh48x4-abcd-11e5-1111-6bqw43hkbea3 Version: $LATEST
Этот идентификатор события представляет собой конкретное событие, для которого была вызвана лямбда, и должна быть одинаковой для всех лямбда-исполнений, которые отвечают за одно и то же событие S3.
Кроме того, вы можете посмотреть на время выполнения (Duration) в следующей строке журнала, который отмечает конец одного исполнения лямбды -
REPORT RequestId: 67jh48x4-abcd-11e5-1111-6bqw43hkbea3 Duration: 244.10 ms Billed Duration: 300 ms Memory Size: 128 MB Max Memory Used: 20 MB
если не решение, то, по крайней мере, дать вам некоторые возможности для отладки в правильном направлении. Дайте мне знать, как это происходит.
* «Не уверен, что этот триггер предназначен для многократной загрузки или же загрузки» * ...не кажется ли вам, что это должно быть первым, что вы должны поработать над выяснением? Безгражданство не имеет к этому никакого отношения. Изучите содержимое события, создайте журнал того, что вы получаете в событии S3, и сохраните его для просмотра, и объяснение должно стать очевидным. Скорее всего, поведение в том, что вы используете для первоначальной загрузки объекта, делает больше операций S3, чем вы понимаете. –
Вам нужно развернуть этот вопрос с более подробной информацией. В идеале образец кода. – kixorz
Похоже, что загрузка разбивается на части. Вы хотите создать событие, укажите, что событие выполняется только на 's3: ObjectCreated: CompleteMultiPartUpload', [этот учебник] (http://docs.aws.amazon.com/lambda/latest/dg/with-s3 -example-configure-event-source.html) показывает, как это сделать, просто замените 's3: ObjectCreated: *' на 's3: ObjectCreated: CompleteMultiPartUpload'. – philippjfr