2017-09-06 2 views
1

Ich bin neue AWS-Plattform. Ich versuche, ein Backend für ein Handy mit AWS Lambda, API-Gateway und DynamoDB zu erstellen, während ich Cognito mit Facebook für die Authentifizierung verwende.Verwirrt von AWS DynamoDB mit UserID

Ein Benutzer meldet sich in der App an, sollte Daten speichern können. Das sollte in einer Tabelle als UserID gespeichert werden (ich sollte das von Cognito bekommen), data1, data2, data3. Dies gehört nur dazu. Nehmen wir an, das sind Aktivitäten des Benutzers.

Wenn er sich als nächstes anmeldet, sollte er in der Lage sein, seine eingegebenen Daten zu sehen.

Ich suchte zum Beispiel, ich kam mit diesem Link über feinkörnige Zugriffskontrolle, wo die Tabelle partitired mit einem bestimmten Benutzer und berechtigt ist.

https://aws.amazon.com/blogs/mobile/dynamodb-on-mobile-part-5-fine-grained-access-control/

Das klingt nicht richtig. In einer regulären RDBMS-zentrierten App stellt die Anwendung mithilfe eines bestimmten Benutzers in einer Verbindungszeichenfolge eine Verbindung zur Datenbank her. Benutzerspezifische Daten werden dem Benutzer mithilfe einer Abfrage zurückgegeben, die im Handumdrehen mit "username = user_id" erstellt wird.

Ist dieser Link über etwas anderes sprechen?

Ich bin verwirrt.

Danke für Ihre Zeit !!

Antwort

1

Ich glaube, dass der Artikel, den Sie verlinkt haben, eine App direkt auf DynamoDB zugreifen lässt, indem Sie die AWS-API direkt aufruft, anstatt eine Backend-Anwendungsschicht zu durchlaufen. Es verwendet Variablen in der IAM-Richtlinie, um einem Benutzer nur zu ermöglichen, Abfragen für die Tabelle auszuführen, die ihre ID als Primärschlüssel enthalten.

In Ihrem Fall ist die AWS Lambda-Funktion Ihre Backend-Anwendungsschicht. Sie können der Lambda-Funktion einfach eine IAM-Rolle zuweisen, die es ermöglicht, alle Datensätze in der DynamoDB-Tabelle abzufragen und Abfragen in der Lambda-Funktion mit der Benutzer-ID als Abfrageschlüssel zu erstellen.