View a markdown version of this page

Speichern und Abrufen von Daten mit DynamoDB - AWS SDK für Mobilgeräte

Das AWS Mobile SDK für Xamarin ist jetzt in der enthalten. AWS SDK für .NET Dieses Handbuch bezieht sich auf die archivierte Version des Mobile SDK für Xamarin.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Speichern und Abrufen von Daten mit DynamoDB

Amazon DynamoDB ist ein schneller, hochskalierbarer, hochverfügbarer, wirtschaftlicher, nicht relationaler Datenbank-Service. Mit DynamoDB werden Einschränkungen der Skalierbarkeit des Datenspeichers eliminiert, die Latenz wird niedrig gehalten und die Leistung ist vorhersehbar.

Das Tutorial unten erläutert, wie das DynamoDB Object Persistence-Modell, das Objekte in DynamoDB speichert, mit der App integriert wird.

Projekteinrichtung

Voraussetzungen

Befolgen Sie alle Anweisungen unter Einrichten von AWS Mobile SDK for .NET and Xamarin, bevor Sie mit diesem Tutorial beginnen.

Erstellen einer DynamoDB-Tabelle

Bevor Sie Daten aus einer DynamoDB-Datenbank lesen bzw. in diese schreiben können, müssen Sie eine Tabelle erstellen. Beim Erstellen der Tabelle müssen Sie den Primärschlüssel angeben. Der Primärschlüssel besteht aus einem Hash-Attribut und einem optionalen Bereichsattribut. Weitere Informationen zur Verwendung primärer Attribute und Bereichsattribute finden Sie unter Arbeiten mit Tabellen.

  1. Navigieren Sie zu DynamoDB Console (DynamoDB-Konsole) und klicken Sie auf Create Table (Tabelle erstellen). Der Assistent "Create Table" wird angezeigt.

  2. Geben Sie den Tabellennamen, den Typ des Primärschlüssels (Hash) und den Namen des Hash-Attributs („Id“) wie unten dargestellt ein. Klicken Sie dann auf Continue (Weiter):

  3. Lassen Sie die Felder im nächsten Bildschirm leer und klicken Sie auf Continue (Weiter).

  4. Übernehmen Sie die Standardwerte für Read Capacity Units (Lesekapazitätseinheiten ) und Write Capacity Units (Schreibkapazitätseinheiten) und klicken Sie auf Continue (Weiter).

  5. Geben Sie im nächsten Bildschirm Ihre E-Mail-Adresse in das Textfeld Send notification to: ( Benachrichtigung senden an:) ein und klicken Sie auf Continue (Weiter). Der Zusammenfassungsbildschirm wird angezeigt.

  6. Klicken Sie auf Create. Es kann einige Minuten dauern, bis die Tabelle erstellt wurde.

Festlegen von Berechtigungen für DynamoDB

Damit Ihr Identitäten-Pool auf Amazon DynamoDB zugreift, müssen Sie die Rollen des Identitäten-Pools modifizieren.

  1. Navigieren Sie zur Identity and Access Management-Konsole und klicken Sie auf im linken Bereich auf Roles (Rollen). Suchen Sie Ihren Identitäten-Pool-Namen. Aufgelistet werden zwei Rollen, eine für nicht authentifizierte Benutzer, die andere für authentifizierte Benutzer.

  2. Klicken Sie auf die Rolle für nicht authentifizierte Benutzer (an den Identitäten-Pool-Namen ist „unauth“ angehängt) und dann auf Create Role Policy (Rollenrichtlinie erstellen).

  3. Wählen Sie Policy Generator (Richtliniengenerator) und klicken Sie auf Select (Auswählen).

  4. Geben Sie auf der Seite Edit Permissions (Berechtigungen bearbeiten) die in der folgenden Abbildung gezeigten Einstellungen ein. Der Amazon-Ressourcenname (ARN) einer DynamoDB-Tabelle entspricht arn:aws:dynamodb:us-west-2:123456789012:table/Books und besteht aus der Region, in der sich die Tabelle befindet, dem Eigentümer der AWS-Kontonummer und dem Namen der Tabelle im Format table/Books. Weitere Informationen zur Angabe ARNs finden Sie unter Amazon Resource Names for DynamoDB.

  5. Klicken Sie auf Add Statement (Anweisung hinzufügen) und anschließend auf Next Step (Nächster Schritt). Der Assistent zeigt die generierte Konfiguration.

  6. Klicken Sie auf Apply Policy.

NuGet Paket für DynamoDB zu Ihrem Projekt hinzufügen

Folgen Sie Schritt 4 der Anweisungen unter Einrichten des AWS Mobile SDK for .NET and Xamarin, um das NuGet DynamoDB-Paket zu Ihrem Projekt hinzuzufügen.

Initialisieren AmazonDynamo DBClient

Übergeben Sie Ihren initialisierten Amazon Cognito Cognito-Anmeldeinformationsanbieter und Ihre Region an den AmazonDynamoDB Konstruktor und dann den Client an Dynamo: DBContext

var client = new AmazonDynamoDBClient(credentials,region); DynamoDBContext context = new DynamoDBContext(client);

Erstellen einer Klasse

Um eine Zeile in die Tabelle zu schreiben, definieren Sie eine Klasse, die die Zeilendaten aufnimmt. Die Klasse sollte außerdem Eigenschaften enthalten, die die Attributdaten für die Zeile aufnehmen und der in der Konsole erstellten DynamoDB-Tabelle zugeordnet werden. Die folgende Klassendeklaration zeigt eine solche Klasse:

[DynamoDBTable("Books")] public class Book { [DynamoDBHashKey] // Hash key. public int Id { get; set; } public string Title { get; set; } public string ISBN { get; set; } public int Price { get; set; } public string PageCount { get; set; } public string Author{ get; set; } }

Speichern eines Elements

Erstellen Sie zum Speichern eines Elements zunächst ein Objekt:

Book songOfIceAndFire = new Book() { Id=1, Title="Game Of Thrones", ISBN="978-0553593716", Price=4, PageCount="819", Author="GRRM" };

Speichern Sie es dann:

context.Save(songOfIceAndFire);

Ändern Sie zum Aktualisieren einer Zeile die Instance der DDTableRow-Klasse und rufen Sie wie oben gezeigt AWSDynamoObjectMapper.save() auf.

Abrufen eines Elements

Abrufen eines Elements mit einem Primärschlüssel:

Book retrievedBook = context.Load<Book>(1);

Aktualisieren eines Elements

Aktualisieren Sie ein Element wie folgt:

Book retrievedBook = context.Load<Book>(1); retrievedBook.ISBN = "978-0553593716"; context.Save(retrievedBook);

Löschen eines Elements

So löschen Sie einen Artikel:

Book retrievedBook = context.Load<Book>(1); context.Delete(retrievedBook);

Weitere Informationen zum Zugriff auf DynamoDB aus einer Xamarin-Anwendung erhalten Sie unter Amazon DynamoDB.