Archivia e recupera dati con DynamoDB - AWS Mobile SDK

L'SDKAWS Mobile per Xamarin è ora incluso inAWS SDK for .NET. Questa guida fa riferimento alla versione archiviata di Mobile SDK per Xamarin.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Archivia e recupera dati con DynamoDB

Amazon DynamoDB è un servizio di database non relazionale, conveniente, veloce e altamente scalabile e disponibile. DynamoDB rimuove le tradizionali limitazioni di scalabilità dello storage dei dati, mantenendo una bassa latenza e prestazioni prevedibili.

L'esercitazione seguente illustra come integrare DynamoDB Object Persistence Model con l'app, che memorizza gli oggetti in DynamoDB.

Configurazione progetto

Prerequisiti

È necessario seguire le istruzioni riportate alla barra degli strumentiConfigurazione dell'SDK AWS Mobile per.NET e Xamarinprima di iniziare questo tutorial.

Creazione di una tabella DynamoDB

Prima di poter leggere e scrivere dati su un database DynamoDB, devi creare una tabella. Quando si crea una tabella, è necessario specificare la chiave primaria. La chiave primaria è costituita da un attributo hash e da un attributo range facoltativo. Per ulteriori informazioni su come vengono utilizzati gli attributi primari e dell'intervallo, consulta.Utilizzo delle tabelle.

  1. Passa alla barra degli strumentiConsole DynamoDBe clicca suCreare tabella. Viene visualizzata la procedura guidata Crea tabella.

  2. Specificare il nome della tabella, il tipo di chiave primaria (Hash) e il nome dell'attributo hash («Id») come mostrato di seguito, quindi fare clic suContinua:

    DynamoDB table creation interface showing table name, primary key type, and hash attribute configuration.
  3. Lasciare vuoti i campi di modifica nella schermata successiva e fai clic suContinua.

  4. Accettare i valori predefiniti perunità di capacità in letturaeUnità di capacità in scritturae clicca suContinua.

  5. Nella schermata successiva, inserisci il tuo indirizzo email nelInvia notifica a:casella di testo e clickContinua. Viene visualizzata la schermata di revisione.

  6. Fai clic su Create (Crea). Per creare il tavolo potrebbero essere necessari alcuni minuti.

Impostazione delle autorizzazioni per DynamoDB

Affinché il tuo pool di identità acceda ad Amazon DynamoDB, devi modificare i ruoli del pool di identità.

  1. Passare alla .Identity and Access Management Consolee clicca suRuoliNel riquadro sinistro. Cerca il nome del pool di identità — verranno elencati due ruoli, uno per gli utenti non autenticati e uno per gli utenti autenticati.

  2. Fare clic sul ruolo degli utenti non autenticati (verrà aggiunto «unauth» al nome del pool di identità) e fai clic suCreate policy per i ruoli.

  3. Selezionageneratore di policye clicca suSeleziona.

  4. SulModifica delle autorizzazioni, inserisci le impostazioni mostrate nell'immagine seguente. L'Amazon Resource Name (ARN) di una tabella DynamoDB ha l'aspettoarn:aws:dynamodb:us-west-2:123456789012:table/Booksed è composto dalla regione in cui si trova la tabella, dal numero di account AWS del proprietario e dal nome della tabella nel formatotable/Books. Per ulteriori informazioni su come specificare gli ARN, consulta.Amazon Resource Names for DynamoDB.

    Edit Permissions page for Amazon DynamoDB with Allow effect and ARN input field.
  5. Fare clic suAggiungi istruzione, quindi fai clic suFase successiva. La procedura guidata mostrerà la configurazione generata.

  6. Fare clic suApplica policy.

InserisciNuGetpacchetto per DynamoDB to Your Project

Seguire il passaggio 4 delle istruzioni riportate inConfigurazione dell'SDK AWS Mobile per.NET e Xamarinper aggiungere DynamoDBNuGetConfigurazione del progetto.

InizializzazioneAmazonDynamoDBClient

Passa il provider di credenziali Amazon Cognito inizializzato e la tua regione allaAmazonDynamoDBcostruttore, quindi passa il client al DynamoDBContext:

var client = new AmazonDynamoDBClient(credentials,region); DynamoDBContext context = new DynamoDBContext(client);

Creazione di una classe

Per scrivere una riga nella tabella, definire una classe per contenere i dati della riga. La classe deve inoltre contenere proprietà che contengono i dati dell'attributo per la riga e verrà mappata alla tabella DynamoDB creata nella console. La seguente dichiarazione di classe illustra tale classe:

[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; } }

Salvataggio di una voce

Per salvare un elemento, creare innanzitutto un oggetto:

Book songOfIceAndFire = new Book() { Id=1, Title="Game Of Thrones", ISBN="978-0553593716", Price=4, PageCount="819", Author="GRRM" };

Quindi salvalo:

context.Save(songOfIceAndFire);

Per aggiornare una riga, modificare l'istanza delDDTableRowclasse e callAWSDynamoObjectMapper.save()Come illustrato sopra.

Recupero di una voce

Recupera un elemento utilizzando una chiave primaria:

Book retrievedBook = context.Load<Book>(1);

Aggiornamento di una voce

Per aggiornare una voce:

Book retrievedBook = context.Load<Book>(1); retrievedBook.ISBN = "978-0553593716"; context.Save(retrievedBook);

Eliminazione di una voce

Per eliminare una voce:

Book retrievedBook = context.Load<Book>(1); context.Delete(retrievedBook);

Per ulteriori informazioni sull'accesso a DynamoDB da un'applicazione Xamarin, vedereAmazon DynamoDB.