In dieser Lektion werden einige einfache Beispiele zum Einfügen und Abrufen von Daten mit DynamoDB vorgestellt. Sie erstellen Ihre DynamoDB-Tabelle mithilfe der CreateTable-API und fügen anschließend einige Elemente mithilfe des BatchWriteItem-API-Aufrufs ein. Zum Abschluss rufen Sie einzelne Elemente mit dem GetItem-API-Aufruf ab. Bevor Sie diese Beispiele durcharbeiten, diskutieren wir das Datenmodell, das in Ihrer Beispiel-Anwendung für Ihren Online-Buchladen verwendet werden soll.
In den folgenden Modulen erfahren Sie, wie Sie mithilfe des Abfrage-API-Aufrufs mehrere Elemente gleichzeitig abrufen und mithilfe von Sekundärindizes zusätzliche Abfragemuster aktivieren können. Sie werden ebenfalls erfahren, wie Sie vorhandene Elemente in Ihrer Tabelle aktualisieren.
Veranschlagte Zeit für das Modul: 15 Minuten
Die folgenden DynamoDB-Konzepte spielen in diesem Modul eine Schlüsselrolle:
- Tabelle: eine Sammlung von DynamoDB-Datensätzen.
- Element: ein einzelner Datensatz in einer DynamoDB-Tabelle. Es ist mit einer Zeile in einer relationalen Datenbank vergleichbar.
- Attribut: ein einzelnes Datenelement für ein Element. Es ist mit einer Spalte in einer relationalen Datenbank vergleichbar. Im Gegensatz zu Spalten in einer relationalen Datenbank müssen bei der Tabellenerstellung jedoch mit Ausnahme des später in diesem Modul beschriebenen Primärschlüssels keine Attribute angegeben werden. Attribute können einfache Typen, wie etwa Zeichenfolgen, Integer oder Boolesche Werte, oder komplexe Typen, wie etwa Listen oder Karten, sein.
- Primärschlüssel: Ein Primärschlüssel ist eine eindeutige Kennung für ein einzelnes Element in einer DynamoDB-Tabelle. Name und Typ des Primärschlüssels müssen bei der Tabellenerstellung angegeben werden und ein Primärschlüssel des angegebenen Typs muss in jedem Element enthalten sein, das in eine Tabelle geschrieben wird. Ein einfacher Primärschlüssel besteht aus einem einzelnen Attribut, ein zusammengesetzter Primärschlüssel besteht aus zwei Attributen: einem Partitionsschlüssel und einem Sortierschlüssel. Sie können beispielsweise einen einfachen Primärschlüssel mit „UserID“ als Kennung oder einen zusammengesetzten Primärschlüssel erstellen, indem Sie „UserID“ und „Creation_Date“ als Elementidentifikator kombinieren.
Wenn Sie eine Anwendung erstellen, sollten Sie sich immer Zeit nehmen, um die in Ihrer Anwendungslogik benötigten Datenmodelle zu entwerfen. Bei diesem Datenmodelldesign sollten die Datenzugriffsanforderungen berücksichtigt werden, die in Ihrer Anwendung sowohl zum Lesen als auch zum Schreiben von Daten erforderlich sind.
DynamoDB ist eine nicht-relationale Datenbank. Bei nicht-relationalen Datenbanken müssen Sie beim Erstellen einer Tabelle nicht im Voraus das vollständige Schema angeben. Sie müssen nur den Primärschlüssel für Ihre Tabelle deklarieren, der jeden Datensatz in Ihrer Tabelle eindeutig identifiziert. Dies senkt die Vorabkosten für das Entwerfen Ihres Datenmodells, da Sie Ihr Schema problemlos ändern können, sobald sich die Anforderungen Ihrer Anwendung ändern.
Wie im Abschnitt „Hintergrund der Anwendung“ in der „Einführung“ dieses Tutorials erwähnt, muss Ihre Anwendung in der Lage sein, ein einzelnes Buch anhand seines Titels und Autors abzurufen. Da die Kombination aus Titel und Autor eine eindeutige Kennung eines Buches ist, können Sie diese Attribute als Primärschlüssel Ihrer Tabelle verwenden. Ihre Anwendung muss außerdem Informationen über die Kategorie des Buches speichern, die den Artikelnummern in Ihrem Inventarsystem zugeordnet sind, zum Beispiel Geschichte oder Biografie, sowie die verfügbaren Formate Ihres Buches: Hardcover, Taschenbuch oder Hörbuch.
Unter Berücksichtigung dieser Anforderungen können Sie das folgende Schema für Ihre Tabelle verwenden:
- Titel (eine Zeichenfolge): Der Titel des Buches
- Autor (eine Zeichenfolge): Der Autor des Buches
- Kategorie (eine Zeichenfolge): Die Kategorie des Buches, wie Geschichte, Biografie oder Science-Fiction
- Formate (eine Karte): Die verschiedenen Formate, die Sie zum Verkauf anbieten (z. B. Hardcover, Taschenbuch oder Hörbuch), und ihre Artikelnummern in Ihrem Inventarsystem
In den folgenden Schritten erstellen Sie die Tabelle, indem Sie den zusammengesetzten Primärschlüssel (Autor und Titel) Ihrer Tabelle angeben. Anschließend laden Sie einige Elemente in Ihre Tabelle und lesen einzelne Elemente aus der Tabelle.