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
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.
-
Navigieren Sie zu DynamoDB Console (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 DynamoDB zugreift, müssen Sie die Rollen des Identitäten-Pools modifizieren.
-
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. -
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 entspricht
arn:aws:dynamodb:us-west-2:123456789012:table/Booksund besteht aus der Region, in der sich die Tabelle befindet, dem Eigentümer der AWS-Kontonummer und dem Namen der Tabelle im Formattable/Books. Weitere Informationen zur Angabe ARNs finden Sie unter Amazon Resource Names for 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.
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.