Поток Dynamo Db напрямую в Elastic Search без другого промежуточного уровня

Можем ли мы напрямую передавать данные базы данных Dynamo в службу эластичного поиска AWS без использования logstash, потому что использование logstash потребует дополнительных затрат? Во всех статьях, которые я читал в Интернете, мы можем добиться этого либо с помощью logstash, либо с помощью lambda.


person Pallavi Kaushik    schedule 03.01.2018    source источник
comment
Поскольку DynamoDB не передает данные, а Elasticsearch не извлекает данные, вам нужен какой-то средний уровень для извлечения из DynamoDB и передачи в Elasticsearch.   -  person vase    schedule 03.01.2018


Ответы (1)


Кажется, вы можете: https://aws.amazon.com/blogs/compute/indexing-amazon-dynamodb-content-with-amazon-elasticsearch-service-using-aws-lambda/

Раньше я использовал DynamoDB на AWS, настраивал потоки для отправки изменений из DynamoDB в конечную точку, а затем использовал Logstash для чтения из конечной точки и записи изменений в ES. Кажется, теперь вы можете использовать Lambda в потоках для записи в ES без использования Logstash.

Тем не менее, подход Logstash также будет переносить все существующие данные в таблице DynamoDB при запуске. Перечисленный выше подход потоков/лямбда, по-видимому, этого не делает. Чтобы обеспечить эту функциональность, в статье упоминается настройка дополнительного Kinesis Stream, использование его в качестве второго входа для вашей лямбда-программы записи ES, а затем выполнение некоторого кода Python или аналогичного для загрузки всех существующих данных из БД в поток Kinesis.

Это кажется очень сложным и потенциально более дорогостоящим, чем простое использование Logstash для покрытия обоих сценариев.

person LaserJesus    schedule 03.01.2018
comment
Итак, это означает, что мне все равно придется использовать средний уровень, без которого невозможно передавать данные напрямую из потоков Dynamodb в эластичный поиск? - person Pallavi Kaushik; 04.01.2018
comment
Да вроде так. Компонент потоков довольно легко и дешево настроить для DynamoDB на ES, но для обработки этого потока и его записи в ES требуется какое-то промежуточное программное обеспечение, либо Lambda, Logstash, либо что-то еще. - person LaserJesus; 05.01.2018