我有一个神秘的问题:我有一个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的控制台日志中
任何进一步调试的想法都将受到赞赏!
欢呼
答案 0 :(得分:1)
可能有很多原因。由于您在询问调试思路,因此有以下几种:
在lambda的console.log
方法中添加postDocumentToES
,以显示确切的连接位置
尝试从lambda中提取代码并在本地运行,以确保其成功发送到弹性搜索(这样代码至少是正确的)
确保对索引没有“特殊限制”(例如ttl持续几分钟或其他时间),或者确保不允许插入索引。
您有多少台ES服务器?也许有一个集群,并且复制配置不正确,所以当您检查一个ES中的索引状态时,它实际上没有文档,而另一台ES服务器上可能有这些文档。
< / li>