如何通过AWS Lambda索引Amazon Elasticsearch Services中的Dynamodb流数据



我一步一步地遵循本教程,但是当我到达"测试结果"步骤时,我没有在索引时间中看到我的表名,因为在示例中显示了"all products"。

这意味着我的dynamodb表没有在我的Amazon ES域中索引。

我设置了所有授权并配置了lambda,就像在示例中一样。

现在我只是不知道如何在AWS ES中触发我的dynamodb流

检查Dynamo DB表中是否有内容。如果没有这个,将不会发生流,并且当Elasticsearch在第一次输入内容时创建索引(表)时,这将导致索引缺失。

如果你的Dynamo DB中有内容,问题很可能是由于Dynamo DB和AWS Lambda或AWS Lambda和Elasticsearch之间的集成问题。

这里有一些你可以做的事情来调试:

  • 检查你的CloudWatch日志/监控你的lambda,看看它是否
  • 调用是否成功?如果没有解决错误,再试一次
  • lambda执行角色是否有适当的权限来发布东西到elasticsearch?(特别要检查,以便您为角色指定的ARN指向您的aws帐户中的正确资源)
  • lambda执行角色是否具有从Dynamo DB流读取内容的适当权限?(点击这里查看ARN)
  • 验证您指定的ES_ENDPOINT是否指向您在教程前面创建的集群

希望这能帮助你解决问题!

我只是复制了那些家伙在博客中所做的,因为博客中提到的Lambda函数Blueprint不再可用了。

你可以在这里使用我的代码做同样的事情:https://github.com/sportarchive/dynamodb-to-elasticsearch

它使用ElasticSearch Python库,并在生产环境中完美地工作。它支持:INSERT, UPDATE和DELETE以及DynamoDB中的所有数据类型

相关内容

  • 没有找到相关文章

最新更新