Можем ли мы напрямую передавать данные базы данных Dynamo в службу эластичного поиска AWS без использования logstash, потому что использование logstash потребует дополнительных затрат? Во всех статьях, которые я читал в Интернете, мы можем добиться этого либо с помощью logstash, либо с помощью lambda.
Поток Dynamo Db напрямую в Elastic Search без другого промежуточного уровня
Ответы (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 для покрытия обоих сценариев.