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
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.
-
Navigieren Sie zur DynamoDB -Konsole
und klicken Sie auf Create Table (Tabelle erstellen). Der Assistent "Create Table" wird angezeigt. -
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):
-
Lassen Sie die Felder im nächsten Bildschirm leer und klicken Sie auf Continue (Weiter).
-
Übernehmen Sie die Standardwerte für Read Capacity Units (Lesekapazitätseinheiten ) und Write Capacity Units (Schreibkapazitätseinheiten) und klicken Sie auf Continue (Weiter).
-
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.
-
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.
-
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. -
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).
-
Wählen Sie Policy Generator (Richtliniengenerator) und klicken Sie auf Select (Auswählen).
-
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 Formattable/Books
. Weitere Informationen zum Angeben von ARNsfinden Sie unter Amazon-Ressourcennamen für DynamoDB . -
Klicken Sie auf Add Statement (Anweisung hinzufügen) und anschließend auf Next Step (Nächster Schritt). Der Assistent zeigt die generierte Konfiguration.
-
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 .