Exemplo: operações CRUD usando o modelo de persistência de objetos do AWS SDK for .NET - Amazon DynamoDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplo: operações CRUD usando o modelo de persistência de objetos do AWS SDK for .NET

O exemplo de código C# a seguir declara uma classe Book com as propriedades Id, Title, ISBN e Authors. O exemplo usa os atributos de persistência de objetos para mapear essas propriedades na tabela ProductCatalogno Amazon DynamoDB. O exemplo então usa o DynamoDBContext para ilustrar as operações típicas de criação, leitura, atualização e exclusão (CRUD). O exemplo cria uma instância de exemplo de Book e a salva na tabela ProductCatalog. Em seguida, ele recupera o item do livro e atualiza suas propriedades ISBN e Authors. Observe que a atualização substitui a lista de autores existentes. Finalmente, o exemplo exclui o item de livro.

Para obter mais informações sobre a tabelas ProductCatalog usada neste exemplo, consulte Criar tabelas e carregar dados para exemplos de código no DynamoDB. Para step-by-step obter instruções sobre como testar o exemplo a seguir, consulteExemplos de código .NET.

nota

O exemplo a seguir não funciona com o .NET Core porque ele não oferece suporte a métodos síncronos. Para obter mais informações, consulte APIs assíncronas da AWS para o .NET.

exemplo
using System; using System.Collections.Generic; using Amazon.DynamoDBv2; using Amazon.DynamoDBv2.DataModel; using Amazon.Runtime; namespace com.amazonaws.codesamples { class HighLevelItemCRUD { private static AmazonDynamoDBClient client = new AmazonDynamoDBClient(); static void Main(string[] args) { try { DynamoDBContext context = new DynamoDBContext(client); TestCRUDOperations(context); Console.WriteLine("To continue, press Enter"); Console.ReadLine(); } catch (AmazonDynamoDBException e) { Console.WriteLine(e.Message); } catch (AmazonServiceException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine(e.Message); } } private static void TestCRUDOperations(DynamoDBContext context) { int bookID = 1001; // Some unique value. Book myBook = new Book { Id = bookID, Title = "object persistence-AWS SDK for.NET SDK-Book 1001", ISBN = "111-1111111001", BookAuthors = new List<string> { "Author 1", "Author 2" }, }; // Save the book. context.Save(myBook); // Retrieve the book. Book bookRetrieved = context.Load<Book>(bookID); // Update few properties. bookRetrieved.ISBN = "222-2222221001"; bookRetrieved.BookAuthors = new List<string> { " Author 1", "Author x" }; // Replace existing authors list with this. context.Save(bookRetrieved); // Retrieve the updated book. This time add the optional ConsistentRead parameter using DynamoDBContextConfig object. Book updatedBook = context.Load<Book>(bookID, new DynamoDBContextConfig { ConsistentRead = true }); // Delete the book. context.Delete<Book>(bookID); // Try to retrieve deleted book. It should return null. Book deletedBook = context.Load<Book>(bookID, new DynamoDBContextConfig { ConsistentRead = true }); if (deletedBook == null) Console.WriteLine("Book is deleted"); } } [DynamoDBTable("ProductCatalog")] public class Book { [DynamoDBHashKey] //Partition key public int Id { get; set; } [DynamoDBProperty] public string Title { get; set; } [DynamoDBProperty] public string ISBN { get; set; } [DynamoDBProperty("Authors")] //String Set datatype public List<string> BookAuthors { get; set; } } }