Я использую Kinesis Firehose для копирования журналов приложений из CloudWatch Logs в корзины S3.
- Журналы приложений записываются в CloudWatch
- Подписка Kinesis на группу журналов извлекает события журнала в поток Kinesis.
- Поток доставки пожарного шланга использует лямбда-функцию для распаковки и преобразования исходной записи.
- Firehose записывает преобразованную запись в место назначения S3 с включенным сжатием GZIP.
Однако с этим потоком есть проблема. Часто я замечал, что функция лямбда-преобразования не работает, потому что выходные данные превышают Ограничение полезной нагрузки ответа 6 МиБ для синхронного вызова Lambda. Это имеет смысл, потому что входные данные сжимаются, а выходные данные не сжимаются. Выполнение этого способа кажется единственным способом правильно установить расширение файла и тип MIME для результирующего объекта в S3.
Есть ли способ передать входные данные функции лямбда-преобразования без сжатия?
Это позволит выровнять размеры ввода / вывода. Я уже пытался уменьшить размер буфера в потоке доставки Firehose, но ограничение размера буфера, похоже, относится к сжатым данным, а не к необработанным данным.