Stocker et récupérer des données avec DynamoDB - Kit SDK AWS Mobile

Le SDKAWS mobile pour Xamarin est désormais inclus dans leAWS SDK for .NET. Ce guide fait référence à la version archivée du SDK mobile pour Xamarin.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Stocker et récupérer des données avec DynamoDB

Amazon DynamoDB est un service de base de données non relationnelle rapide, économique, très évolutif et hautement disponible. DynamoDB permet de s'affranchir des limites habituelles du dimensionnement de stockage de données, tout en conservant une faible latence et des performances prévisibles.

Le didacticiel ci-dessous explique comment intégrer le modèle de persistance des objets DynamoDB à votre application, afin de stocker les objets dans DynamoDB.

Configuration du projet

Prérequis

Avant de commencer ce didacticiel, vous devez suivre toutes les instructions de la section Configurer un kit SDK AWS Mobile pour .NET et Xamarin.

Créer une table DynamoDB

Pour pouvoir lire et écrire des données dans une base de données DynamoDB, vous devez d'abord créer une table. Lors de la création de la table, vous devez spécifier la clé primaire. La clé primaire se compose d'un attribut de hachage et d'un attribut de plage facultatif. Pour en savoir plus sur l'utilisation des attributs primaires et des attributs de plage, reportez-vous à la section Utilisation de tables.

  1. Accédez à la console DynamoDB et cliquez sur Créer une table. L'Assistant de création de table s'affiche.

  2. Indiquez le nom de votre table, le type de clé primaire (hachage) et le nom de l'attribut de hachage (« Id »), comme indiqué ci-dessous, puis cliquez sur Continuer :

  3. Laissez les champs modifiables de l'écran suivant vides et cliquez sur Continuer.

  4. Acceptez les valeurs par défaut pour les champs Unités de capacité en lecture et Unités de capacité en écriture et cliquez sur Continuer.

  5. Dans l'écran suivant, entrez votre adresse e-mail dans la zone de texte Envoyer les notifications à : et cliquez sur Continuer. L'écran de vérification s'affiche.

  6. Cliquez sur Create. La création de votre table peut prendre quelques minutes.

Définir les autorisations pour DynamoDB

Pour que votre groupe d'identités puisse accéder à Amazon DynamoDB, vous devez modifier les rôles de ce groupe d'identités.

  1. Accédez à la console Identity and Access Management et cliquez sur Rôles dans le volet de gauche. Recherchez le nom de votre groupe d'identités. Deux rôles seront indiqués : un pour les utilisateurs non authentifiés et un autre, pour les utilisateurs authentifiés.

  2. Cliquez sur le rôle correspondant aux utilisateurs non authentifiés (signalé par le suffixe « unauth » à la suite du nom de votre groupe d'identités) et cliquez sur Créer une stratégie de rôle.

  3. Sélectionnez Générateur de stratégies et cliquez sur Sélectionner.

  4. Sur la page Modifier les autorisations, saisissez les paramètres indiqués dans l'illustration suivante. L'ARN (Amazon Resource Name) d'une table DynamoDB se présente comme suit : arn:aws:dynamodb:us-west-2:123456789012:table/Books. Il se compose de la région dans laquelle se trouve la table, du numéro de compte AWS du titulaire et du nom de la table au format table/Books. Pour en savoir plus sur la définition des ARN, reportez-vous à la page Amazon Resource Names pour DynamoDB.

  5. Cliquez sur Ajouter une instruction, puis sur Étape suivante. L'Assistant vous indiquera la configuration générée.

  6. Cliquez sur Apply Policy.

AdditionNuGetpackage DynamoDB à votre projet

Suivez l'étape 4 des instructions deConfigurer le kit SDK AWS Mobile pour .NET et Xamarinpour ajouter le DynamoDBNuGetConfigurer votre projet.

InitialiserAmazonDynamoDBClient

Indiquez votre fournisseur d'informations d'identification Amazon Cognito et votre région au constructeur AmazonDynamoDB, puis transmettez le client à DynamoDBContext :

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

Créer une classe

Pour écrire une ligne dans la table, définissez une classe qui contiendra les données de votre ligne. La classe doit également contenir des propriétés qui indiquent les données des attributs de la ligne et seront mises en correspondance avec la table DynamoDB créée dans la console. La déclaration de classe suivante correspond à une classe de ce type :

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

Enregistrer un élément

Pour enregistrer un élément, commencez par créer un objet :

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

Puis enregistrez-le :

context.Save(songOfIceAndFire);

Pour mettre à jour une ligne, modifiez l'instance de la classe DDTableRow et appelez AWSDynamoObjectMapper.save() comme indiqué ci-dessus.

Récupérer un élément

Récupérer un élément à l'aide d'une clé primaire :

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

Mettre à jour un élément

Pour mettre à jour un élément :

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

Supprimer un élément

Pour supprimer un élément :

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

Pour en savoir plus sur l'accès à DynamoDB depuis une application Xamarin, consultez la page Amazon DynamoDB.