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

У меня есть веб-сайт S3 Bucket, в котором есть несколько HTML файлов, теперь я создал лямбда-функцию и подключил ее к триггеру S3. Теперь я создал лямбда-функцию, для которой я хочу первый индекс. Все текущие HTML файлы корзины S3 для моих индексов поискового домена Elasti c, которые у меня появляются после этого, если я загружаю или удаляю любой файл HTML в корзине S3, то эта лямбда-функция должна индексировать ее в домен ES. Проблема в том, что я не могу проиндексировать все текущие HTML, также когда я загружаю новый HTML файл, я не могу проиндексировать их по индексам домена ES.

Лямбда-функция для indexall, а затем индексировать по одному . Также я хочу создать тест в AWS лямбда-тесте для S3 и использовать событие indexAll для индексации всего файла первым.

Ошибка: время ожидания истекло в 3 се c:

1 Ответ

2 голосов
/ 25 марта 2020

Время ожидания вашей лямбда-функции слишком мало (по умолчанию это 3 секунды).

Также не стоит пытаться анализировать / индексировать все объекты S3 в рамках одного вызова лямбда-функции, если только вы не может ограничить количество объектов. Максимальный тайм-аут Lambda составляет 15 минут.

Одним из вариантов работы с существующими файлами, в качестве альтернативы EC2, может быть создание списка существующих объектов в корзине (вы можете просто перечислить корзину, если она разумного размера, например, 10 000 предметов или меньше, или вы можете использовать S3 Inventory Report, если он очень большой. В любом случае, получите список объектов и затем отправьте их в очередь SQS, один за другим. Пусть SQS вызовет вашу лямбда-функцию по одному объекту за вызов или пакет из 10 объектов за вызов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...