自动将发电机表卸载到云搜索域

The*_*net 4 amazon-web-services amazon-dynamodb amazon-cloudsearch

我正在大量使用Dynamo DB来处理我正在构建的服务.出现了需要云搜索的新客户端请求.我看到可以通过AWS控制台从发电机表创建云搜索域.

我的问题是:

有没有办法通过API或指定的时间间隔自动将数据从发电机表卸载到云搜索域?

我更喜欢这个手动将dynamo文件卸载到cloudsearch.所有帮助非常感谢!

ale*_*sos 9

这是两个想法.

  1. 使用CloudSearch搜索DynamoDB数据的官方AWS方式

    http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching-dynamodb-data.html的 "使用DynamoDB表同步搜索域"部分中对此方法进行了详细介绍.

    缺点是它听起来很痛苦:您必须重新创建新的搜索域或维护更新表才能进行同步,并且您需要一个cron作业或其他东西来执行脚本.

  2. AWS Lambdas方式

    使用新的Lambdas事件处理服务.基于Dynamo设置事件流非常简单(请参阅http://docs.aws.amazon.com/lambda/latest/dg/wt-ddb.html).

    然后,您的Lambda将根据Dynamo事件向CloudSearch提交搜索文档.有关从Lambda提交文档的示例,请参阅https://gist.github.com/fzakaria/4f93a8dbf483695fb7d5

    我认为这种方法更好,因为它会在没有您参与的情况下不断更新您的搜索索引.

  • 您每月的首批100万个请求是免费的,之后相当便宜.不知道你正在处理什么样的数量或预算,但总是拥有最新的结果并避免混乱的cron工作是值得的.http://aws.amazon.com/lambda/pricing/ (4认同)
  • 我一直在寻找最好的方法,我的研究同意alexroussos的这个答案.这是一个耻辱,因为第一个解决方案是痛苦,溪流和lambda已经预览了几个月,不能在生产中依赖.理想情况下,这是AWS可以添加的功能,它是一个相当通用的用例,可以使所有dynamodb和cloudsearch用户受益. (2认同)