Ich entwerfe eine Foto-Sharing-App (ortsbasiert). Ich plane, AWS Cognito für Authentifizierung/Autorisierung, DynamoDB für persistente Daten, S3 für Dateispeicher und Lambda + API Gateway für Webdienste zu verwenden. Wie verwende ich DynamoDB für geo-location-basierte Abfragen?
Dies sind die wichtigsten Use-Cases/Zugriffsmuster (außer Sign-up/Log-in):
- Der Benutzer erstellt einen Beitrag: Titel, Medien, Ort (lat, lon)
- Benutzer holt eine Liste der Beiträge am nächsten an ihren Geo-Standort (neueste zuerst)
Dies sind die Tabellen, die ich schaffen werde:
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
Was ist der beste Weg, um eine Abfrage zu implementieren (vielleicht mit Hilfe der Zugabe von LSI, GSI oder noch mehr Tabellen), so dass das Ergebnis eine Sammlung von Beiträgen basierend auf dem aktuellen Standort des Benutzers ist. Z.B. Zeige nur Posts innerhalb von 10 km Umkreis, sortiert nach dem neuesten zuerst.
Haben Sie diese Option aktiviert: https://aws.amazon.com/blogs/mobile/geo-library-for-amazon-dynamodb-part-1-table -Struktur/ ? –