【发布时间】:2018-03-22 03:26:15
【问题描述】:
我正在尝试为将记录直接发送到 Elasticsearch 集群的 Firehose 流创建 AWS Lambda 转换函数。
目前,无法在 Firehose 流记录中指定 ES 文档 id,因此会插入所有记录,甚至是重复记录。但是,Firehose 确实支持托管在 Lambda 中的转换函数,这给了我一个想法:
我的解决方案是创建一个 Lambda 转换函数,该函数在转换过程中对 Elasticsearch 的每条记录执行 DELETE 请求,然后返回所有未修改的记录,从而实现“删除-插入”行为(我可以暂时消失记录期间)。
但是,我对 Nodejs 知之甚少,即使这是一件如此简单的事情,我也不知道该怎么做。
是否有可供 Lambda 使用的 Node 包来执行此操作? (最好是 AWS Elasticsearch API,但可以使用简单的 HTTP 包)。
我是否必须打包一些其他模块才能完成这项工作?
Apex 之类的东西可以帮助我吗?我的首选语言是 Go,但到目前为止,我一直无法让 apex 函数执行或将任何内容记录到 Cloudwatch...
提前致谢。
【问题讨论】:
标签: node.js http elasticsearch aws-lambda amazon-kinesis-firehose