

はじめて質問させていただきます。

AWS DynamoDBからAWS CloudSearchへのデータインポートについての質問です。

現在、Swiftにてショッピングアプリの開発を行っています。

特定の商品を検索する際に、DynamoDBのデータをCloudSearchにインポートし、検索ができるような仕組みになっています。

質問なのですが、1日に複数回、DynamoDBに対して、追加・更新された差分データをリアルタイムでCloudSearchに反映させる方法として、どのような手段がありますか？

DynamoDBに対して追加・更新する際に、同じテーブル構造の空のテーブル（yyyy_mm_ddを記載したからテーブル)をCloudSearchに反映をさせる方法があると思いますが、1日かかってしまいます(時間単位でアップロードすれば良いかもしれませんが...)

この方法以外で、解決方法をご存知の方がいらっしゃったら  
ご返信いただければ幸いです。

以上、よろしくお願いいたします。


CC BY-SA 3.0
2016-05-09T12:34:57.607
24676
2016-05-12T04:01:37.563
15424
question
swift aws
DynamoDBからCloudSearchへリアルタイムにデータインポートする方法


以下のURLに記載されているLogstashプラグインを使った方法はどうでしょうか？

<https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Tools.DynamoDBLogstash.html>


CC BY-SA 3.0
2016-05-10T17:14:22.177
24725
2016-05-10T17:14:22.177
5959
24676
answer


DynamoDBStreams機能を有効にすることでDynamoDBでのレコードの変化を取得できます。

  1. DynamoDBでレコードを追加
  2. DynamoDB Streams発動→Lambdaにデータがわたる
  3. LambdaからCloudSearchへインデックス登録

このようにすれば実現可能かと思いますが如何でしょうか。

蛇足かもしれませんが商品をリアルタイムにインデクシングしたいのであればCloudSearchより  
ElasticSearchSearchの方が相性が良いでしょう。


CC BY-SA 3.0
2016-05-12T04:01:37.563
24776
2016-05-12T04:01:37.563
11145
24676
answer