0

我一步一步地按照本教程进行操作,但是当我到达“测试结果”步骤时,我在索引时间看不到我的表名,因为示例中显示了“所有产品”。

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

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

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

4

2 回答 2

0

我只是复制了那些人在博客中所做的事情,因为博客中提到的 Lambda 函数蓝图不再可用。

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

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

于 2016-11-18T04:13:57.740 回答
0

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

如果您的 Dynamo DB 中有内容,则问题很可能是由于 Dynamo DB 与 AWS Lambda 之间或 AWS Lambda 与 Elasticsearch 之间的集成存在问题。

以下是您可以执行的一些调试操作:

  • 检查您的 CloudWatch 日志/监控您的 lambda 以查看它是否已被调用
  • 调用成功了吗?如果没有解决错误,请重试
  • lambda 执行角色是否具有将内容发布到 elasticsearch 的适当权限?(特别是检查您为角色指定的 ARN 是否指向您的 aws 账户中的正确资源)
  • lambda 执行角色是否具有从 Dynamo DB 流中读取内容的适当权限?(也可以在此处查看 ARN)
  • 验证您指定的 ES_ENDPOINT 是否指向您在本教程前面创建的集群

希望这可以帮助您解决问题!

于 2016-07-04T15:04:30.117 回答