Présentation
Appel à tous les super héros AWS ! Développez un générateur de dossiers de mission à l’aide de DynamoDB dans cette série d’ateliers en trois parties à l’aide de DynamoDB. Vous tenez entre vos mains les instructions étape par étape nécessaire pour réaliser la partie 1. Dans cet atelier, vous développerez l’infrastructure dont vous aurez besoin dans les deux prochains ateliers. Vous allez crée une table DynamoDB, ajouter des données, puis passer en revue les rôles et stratégies IAM nécessaires que vous utiliserez pour accorder un accès sécurisé à ces données.
Dans les ateliers 2 et 3, vous allez créer des fonctions Lambda qui interagissent avec DynamoDB, construire une API via le service de passerelle API Gateway, et enfin publier une application sur le web public, en utilisant toutes les compétences DynamoDB acquises dans les trois ateliers. A la fin de la partie 3, vous serez en mesure de générer des dossiers de mission et d’envoyer des super-héros pour sauver le monde !
THÈMES ABORDÉS
À la fin de cet atelier, vous serez en mesure d’effectuer les opérations suivantes :
- Créer une table Amazon DynamoDB
- Ajouter des éléments à votre table Amazon DynamoDB
- Comprendre la structure des rôles et stratégies IAM nécessaires pour accéder à votre table
PRÉREQUIS
Vous devez vous familiariser avec les concepts clés en suivant les ateliers Introduction to Amazon DynamoDB et Introduction to AWS Identity and Access Management (IAM). C’est le premier d’une série d’ateliers en trois parties. Chacune des trois partie peut être suivie d’une façon autonome, mais comme les ateliers s’appuient sur ce que vous avez appris précédemment, les suivre dans l’ordre vous offrirait la meilleure expérience d’apprentissage.
AUTRES SERVICES AWS
Les services AWS, autres que ceux nécessaires pour l’atelier, sont désactivés par une stratégie IAM pendant votre temps d’accès à l’atelier. De plus, les capacités des services utilisés pour cet atelier sont limitées selon les besoins de l’atelier. Elles peuvent même être limitées davantage de façon intentionnelle par la conception de l’atelier. Des erreurs surviendront en cas d’action ou d’accès autres que ceux nécessaires dans ce guide de l’atelier.
AMAZON DYNAMODB
Amazon DynamoDB est un service de base de données NoSQL rapide et flexible pour toutes les applications nécessitant une latence constante de quelques millisecondes, quelle que soit l’échelle. Il s’agit d’une base de données cloud entièrement gérée qui prend en charge les modèles de stockage de documents et de magasins clés-valeurs. Son modèle de données flexible et ses performances fiables conviennent parfaitement à de nombreuses applications telles que les applications mobiles, web, les jeux, les technologies publicitaires, l’Internet des objets et bien d’autres.
Vous pouvez utiliser Amazon DynamoDB pour créer une table de base de données dotée de capacités de stockage et d’extraction de données, quels que soient le volume et le nombre de circulation demandé. Amazon DynamoDB répartit automatiquement les données et le trafic de la table sur un nombre de serveurs approprié afin de gérer le volume de requêtes spécifié par le client et la quantité de données stockées, tout en assurant des performances cohérentes et rapides.
TERMINOLOGIE DYNAMODB
Tables DynamoDB stocke les données dans des tables, comme tout autre système de gestion de bases de données. Une table représente un ensemble de données. Par exemple, dans cet atelier, vous allez créer une table nommée SuperMission, où vous stockerez les informations de mission. Vous pouvez également disposer d’une table Personnes pour stocker des données sur les amis, la famille ou toute autre personne d’intérêt, ou une table Voitures pour stocker des informations sur les véhicules que les personnes conduisent.
Articles Chaque table contient plusieurs éléments. Un élément est formé par un groupe d’attributs ; il est identifiable de manière unique parmi tous les autres éléments. Dans une table Personnes, chaque élément représente une personne. Dans une table Voitures, chaque élément représente un véhicule. Les éléments sont similaires à plusieurs égards aux lignes, enregistrements ou tuples dans les systèmes de bases de données relationnelles. Dans DynamoDB, le nombre d’éléments que vous pouvez stocker dans une table n’est pas limité.
Attributs Chaque élément se compose d’un ou de plusieurs attributs. Un attribut est un élément de données fondamental, qui ne peut pas être décomposé davantage. Dans cet atelier, vous allez créer un objet Mission avec des attributs comme Superhéros, ÉtatMission, Méchant1, Méchant2, Méchant3 et IdentitéSecrète. Autre exemple, un élément Service peut avoir des attributs tels que IDService, Nom, Manager, etc. Un élément d’une table Personnes peut contenir des attributs tels que IDPersonne, Nom, Prénom, etc. Les attributs de DynamoDB sont similaires à bien des égards aux champs ou aux colonnes d’autres systèmes de gestion de base de données.
Clé primaire Lorsque vous créez une table, vous devez spécifier la clé primaire de la table en plus de son nom. Comme dans d’autres bases de données, la clé primaire dans DynamoDB identifie de manière unique chaque élément de la table, de sorte qu’aucun élément ne peut avoir la même clé. Lorsque vous ajoutez, mettez à jour ou supprimez un élément dans la table, vous devez spécifier les valeurs d’attribut de clé primaire pour cet élément. Les valeurs clés sont obligatoires ; vous ne pouvez pas les omettre. DynamoDB prend en charge deux types différents de clés primaires : Clé de partition et Clé de partition et Clé de tri.
Index secondaires Dans DynamoDB, vous pouvez lire les données d’une table lorsque vous fournissez les valeurs d’attribut de clé primaire. Si vous souhaitez lire les données à l’aide d’attributs non clés, vous pouvez utiliser un index secondaire pour ce faire. Lorsque vous créez un index secondaire sur une table, il vous permet de lire les données de l’index de la même manière que vous le faites à partir de la table. En utilisant des index secondaires, vos applications peuvent utiliser de nombreux modèles de requête différents, en plus d’accéder aux données par des valeurs de clé primaire.
DOCUMENTATION AWS IDENTITY AND ACCESS MANAGEMENT
AWS Identity and Access Management (IAM) est un service web qui permet aux clients d’Amazon Web Services (AWS) de gérer leurs utilisateurs et les autorisations qui leur sont associées dans AWS. Le service est destiné aux organisations ayant plusieurs utilisateurs ou systèmes dans le cloud qui utilisent des produits AWS comme Amazon DynamoDB, AWS Lambda et la console de gestion AWS. Avec IAM, vous pouvez gérer de façon centralisée les utilisateurs, les identifiants de sécurité tels que les clés d’accès, et les autorisations qui déterminent les ressources AWS auxquelles les utilisateurs peuvent accéder. Pour en savoir plus, consultez https://aws.amazon.com/iam/.
AWS LAMBDA
AWS Lambda est un service de calcul qui fournit une capacité de calcul redimensionnable dans le cloud pour faciliter la mise à l’échelle informatique du web pour les développeurs. Téléchargez votre code sur AWS Lambda et celui-ci prend en charge le provisionnement et la gestion des serveurs que vous utilisez pour exécuter le code. AWS Lambda prend en charge plusieurs langages de codage : Node.js, Java ou Python. Vous pouvez utiliser AWS Lambda de deux manières :
- En tant que service de calcul basé sur des événements où AWS Lambda exécute votre code en réponse à des événements, tels que le téléchargement de fichiers image comme vous le verrez dans cet atelier.
- Comme service de calcul qui exécute le code en réponse à des requêtes HTTP via Amazon API Gateway ou d’appels d’API.
AWS Lambda vous transmet les avantages financiers à l’échelle Amazon. Lambda n’exécute votre code qu’en cas de besoin et se met à l’échelle automatiquement, passant de quelques requêtes par jour à des milliers par seconde. Lambda vous permet de créer facilement des déclencheurs de traitement de données pour des services AWS tels qu’Amazon S3 et Amazon DynamoDB, afin de traiter les données de streaming stockées dans Amazon Kinesis ou créer vos propres services backend, fonctionnant à l’échelle AWS en matière de performances et de la sécurité.
Ce guide d’atelier explique les concepts de base d’AWS dans une démarche pas-à-pas. Cependant, il ne vous fournit qu’une brève présentation des concepts de Lambda. Pour plus d’informations, consultez la documentation officielle d’Amazon Web Services pour Lambda à l’adresse suivante : https://aws.amazon.com/documentation/lambda/. Pour les informations de tarification, consultez https://aws.amazon.com/lambda/pricing/.