私は写真共有アプリ(位置情報ベース)をデザインしています。私はAWS Cognitoを認証/承認、永続データ用のDynamoDB、ファイルストレージ用のS3、Webサービス用のLambda + API Gatewayを使用する予定です。ジオロケーションベースのクエリにDynamoDBを使用するにはどうすればよいですか?
これらはキーユースケース/アクセスパターン(サインアップ以外/サインイン)である:
- ユーザがポストを作成しますタイトル、メディア、位置(緯度、経度)
- ユーザーは、地理的位置に最も近い記事の一覧を取得する(新しい順)
これらは私が作成するつもりの表のとおりです。
Users table
hash-key=userID from cognito
Posts table
hash-key=userID from cognito
range-key=date
other-attributes=title, image-s3-path, ge-location
クエリを実装する最良の方法は(おそらく、LSI、GSI、またはさらに多くのテーブルを追加することによって)結果がユーザーの現在の場所に基づく投稿の集まりになるようにすることです。例えば。最新の順にソートされた、半径10 km以内の投稿のみを表示します。
は、あなたがこれを確認しておりますので、私は、ElasticSearchを使用することを検討します:https://aws.amazon.com/blogs/mobile/geo-library-for-amazon-dynamodb-part-1-table構造/? –