如何在AWS Lambda Nodejs函数中执行HTTP DELETE请求

时间:2017-10-10 16:24:48

标签: node.js http elasticsearch aws-lambda amazon-kinesis-firehose

我正在尝试为Firehose流创建一个AWS Lambda转换函数,该函数将记录直接发送到Elasticsearch集群。

目前,无法在Firehose流记录中指定ES文档ID,因此会插入所有记录,甚至是重复记录。但是,Firehose确实支持Lambda中托管的转换功能,这给了我一个想法:

我的解决方案是创建一个Lambda转换函数,在转换期间为每个记录执行对Elasticsearch的DELETE请求,然后返回所有未修改的记录,从而实现“删除 - 插入”行为(我很好,记录消失了周期)。

但是,我对Nodejs知之甚少,尽管这很简单,但我无法弄清楚如何做到这一点。

Lambda是否有可用于执行此操作的Node程序包? (最好是AWS Elasticsearch API,但只需要一个简单的HTTP包)。

我是否必须打包其他模块才能完成此操作?

像Apex这样的东西可以帮助我吗?我的首选语言是Go,但到目前为止,我无法获得顶级函数来执行或将任何内容记录到Cloudwatch ......

提前致谢。

1 个答案:

答案 0 :(得分:0)

这似乎是一项简单的任务,所以我想不需要框架。

Node.js中的几行代码可以完成任务。 有两个软件包可以帮助您:

API文档:https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html