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.
Verwenden des Dokumentmodells
Das Dokumentmodell stellt Wrapper-Klassen für die .NET-Low-Level-API bereit. Die wichtigsten Wrapper-Klassen sind Table und Document. Sie können das Dokumentmodell verwenden, um Elemente zu erstellen, abzurufen, zu aktualisieren und zu löschen. Zum Erstellen, Aktualisieren und Löschen von Tabellen müssen Sie die Low-Level-API verwenden. Anweisungen zur Verwendung der Low-Level-API finden Sie unter Verwenden des DynamoDB-Servicelevels. APIs Die Low-Level-API ist in der Amazon.DynamoDB verfügbar. DocumentModel Namespace.
Weitere Informationen zum Dokumentmodell erhalten Sie unter .NET: Dokumentmodell.
Erstellen eines DynamoDB-Clients
Erstellen Sie einen DynamoDB-Client wie folgt:
var client = new AmazonDynamoDBClient(credentials,region); DynamoDBContext context = new DynamoDBContext(client);
CRUD-Operationen
Speichern eines Elements
Erstellen Sie ein Element wie folgt:
Table table = Table.LoadTable(client, "Books"); id = Guid.NewGuid().ToString(); var books = new Document(); books["Id"] = id; books["Author"] = "Mark Twain"; books["Title"] = "Adventures of Huckleberry Finn"; books["ISBN"] = "112-111111"; books["Price"] = "10";
Speichern Sie ein Element wie folgt in einer DynamoDB-Tabelle:
var book = await table.PutItemAsync(books);
Abrufen eines Elements
Rufen Sie ein Element wie folgt ab:
public async Task GetItemAsync(AWSCredentials credentials, RegionEndpoint region) { var client = new AmazonDynamoDBClient(credentials, region); Table books = Table.LoadTable(client, "Books"); var book = await books.GetItemAsync(id); }
Aktualisieren eines Elements
Aktualisieren Sie ein Element wie folgt:
public async Task UpdateItemAttributesAsync(AWSCredentials credentials, RegionEndpoint region) { var book = new Document(); book["Id"] = id; book["PageCount"] = "200"; var client = new AmazonDynamoDBClient(credentials, region); Table books = Table.LoadTable(client, "Books"); Document updatedBook = await books.UpdateItemAsync(book); }
Aktualisieren Sie ein Element wie folgt bedingungsabhängig:
public async Task UpdateItemConditionallyAsync(AWSCredentials credentials, RegionEndpoint region) { var book = new Document(); book["Id"] = id; book["Price"] = "30"; // For conditional price update, creating a condition expression. Expression expr = new Expression(); expr.ExpressionStatement = "Price = :val"; expr.ExpressionAttributeValues[":val"] = 10.00; var client = new AmazonDynamoDBClient(credentials, region); Table books = Table.LoadTable(client, "Books"); Document updatedBook = await books.UpdateItemAsync(book); }
Löschen eines Elements
So löschen Sie einen Artikel:
public async Task DeleteItemAsync(AWSCredentials credentials, RegionEndpoint region) { var client = new AmazonDynamoDBClient(credentials, region); Table books = Table.LoadTable(client, "Books"); await books.DeleteItemAsync(id); }
Query und Scan
Gehen Sie zum Abfragen und Abrufen aller Bücher, deren Autor „Mark Twain“ ist, wie folgt vor:
public async Task QueryAsync(AWSCredentials credentials, RegionEndpoint region) { var client = new AmazonDynamoDBClient(credentials, region); Table books = Table.LoadTable(client, "Books"); var search = books.Query(new QueryOperationConfig() { IndexName = "Author-Title-index", Filter = new QueryFilter("Author", QueryOperator.Equal, "Mark Twain") }); Console.WriteLine("ScanAsync: printing query response"); var documents = await search.GetRemainingAsync(); documents.ForEach((d) = > { PrintDocument(d); }); }
Der Scan-Beispiel-Code unten gibt alle Bücher in der Tabelle zurück:
public async Task ScanAsync(AWSCredentials credentials, RegionEndpoint region) { var client = new AmazonDynamoDBClient(credentials, region); Table books = Table.LoadTable(client, "Books"); var search = books.Scan(new ScanOperationConfig() { ConsistentRead = true }); Console.WriteLine("ScanAsync: printing scan response"); var documents = await search.GetRemainingAsync(); documents.ForEach((d) = > { PrintDocument(d); }); }