带有Lambda和S3的AWS ElasticSearch不会将文档添加到索引

时间:2018-10-23 04:51:07

标签: amazon-web-services elasticsearch aws-lambda

我有一个神秘的问题:我有一个lambda函数,可将数据从S3存储桶传输到AWS ES集群。 我的lambda函数正常运行并报告以下内容:

All 6 log records added to ES

但是添加的文档未出现在AWS ElasticSearch索引中 / _ cat / indices?v

health status index uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   logs  3N2O9CqhSwCP6sj1QK5EQw   5   1          0            0      1.2kb          1.2kb

我正在使用此lambda函数https://github.com/aws-samples/amazon-elasticsearch-lambda-samples/blob/master/src/s3_lambda_es.js Lambda函数的角色对ES群集和S3存储桶具有完全权限。它可以访问S3存储桶,因为我可以将内容打印到Lambda的控制台日志中

任何进一步调试的想法都将受到赞赏!

欢呼

1 个答案:

答案 0 :(得分:1)

可能有很多原因。由于您在询问调试思路,因此有以下几种:

  1. 在lambda的console.log方法中添加postDocumentToES,以显示确切的连接位置

  2. 尝试从lambda中提取代码并在本地运行,以确保其成功发送到弹性搜索(这样代码至少是正确的)

  3. 确保对索引没有“特殊限制”(例如ttl持续几分钟或其他时间),或者确保不允许插入索引。

  4. 您有多少台ES服务器?也许有一个集群,并且复制配置不正确,所以当您检查一个ES中的索引状态时,它实际上没有文档,而另一台ES服务器上可能有这些文档。

    < / li>