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

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, hochgradig skalierbarer, hochverfügbarer, wirtschaftlicher, nicht relationaler Datenbankservice. DynamoDBMit werden Einschränkungen der Datenspeicherungsskalierbarkeit eliminiert, die Latenz niedrig gehalten und die Leistung ist vorhersehbar.

Im folgenden Tutorial wird erläutert, wie Sie das DynamoDB Object Persistence-Modell in Ihre App integrieren, in der Objekte in gespeichert DynamoDBwerden.

Projekteinrichtung

Prerequisites

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 in einer DynamoDB Datenbank lesen und 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 zur 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):

    DynamoDB table creation interface showing table name, primary key type, and hash attribute configuration.
  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 zugreifen DynamoDBkann, müssen Sie die Rollen des Identitäten-Pools ändern.

  1. Navigieren Sie zur Identity and Access Management Console und klicken Sie im linken Bereich auf Roles. 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 sieht aus wie arn:aws:dynamodb:us-west-2:123456789012:table/Books und besteht aus der Region, in der sich die Tabelle befindet, der AWS-Kontonummer des Besitzers und dem Namen der Tabelle im Format table/Books. Weitere Informationen zum Angeben von ARNsfinden Sie unter Amazon-Ressourcennamen für DynamoDB .

    Edit Permissions page for Amazon DynamoDB with Allow effect and ARN input field.
  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.

Hinzufügen NuGet des Pakets für DynamoDB zu Ihrem Projekt

Befolgen Sie Schritt 4 der Anweisungen unter Einrichten von AWS Mobile SDK for .NET and Xamarin, um das -DynamoDBNuGetPaket Ihrem Projekt hinzuzufügen.

Initialisieren AmazonDynamoDBClient

Übergeben Sie Ihren initialisierten Amazon Cognito und Ihre Region an den AmazonDynamoDB Konstruktor und dann den Client an den DynamoDBContext:

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 auch Eigenschaften enthalten, die die Attributdaten für die Zeile enthalten 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 über eine Xamarin-Anwendung finden Sie unter Amazon DynamoDB .