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
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.
-
Passa alla barra degli strumentiConsole DynamoDB
e clicca suCreare tabella. Viene visualizzata la procedura guidata Crea tabella. -
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:
-
Lasciare vuoti i campi di modifica nella schermata successiva e fai clic suContinua.
-
Accettare i valori predefiniti perunità di capacità in letturaeUnità di capacità in scritturae clicca suContinua.
-
Nella schermata successiva, inserisci il tuo indirizzo email nelInvia notifica a:casella di testo e clickContinua. Viene visualizzata la schermata di revisione.
-
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à.
-
Passare alla .Identity and Access Management Console
e 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. -
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.
-
Selezionageneratore di policye clicca suSeleziona.
-
SulModifica delle autorizzazioni, inserisci le impostazioni mostrate nell'immagine seguente. L'Amazon Resource Name (ARN) di una tabella DynamoDB ha l'aspetto
arn:aws:dynamodb:us-west-2:123456789012:table/Books
ed è 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. -
Fare clic suAggiungi istruzione, quindi fai clic suFase successiva. La procedura guidata mostrerà la configurazione generata.
-
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 allaAmazonDynamoDB
costruttore, 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 delDDTableRow
classe 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.