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.
Étape 1 : Lancer un schéma
Dans cet exemple, vous allez créer unTodo
API qui permet aux utilisateurs de créerTodo
des articles pour les rappels de corvées quotidiennes, tels queTerminer la tâche
ouRécupérez les produits d'épicerie
. Cette API montre comment utiliser les opérations GraphQL lorsque l'état persiste dans une table DynamoDB.
Conceptuellement, la création de votre première API GraphQL comporte trois étapes principales. Vous devez définir le schéma (types et champs), associer vos sources de données à vos champs, puis écrire le résolveur qui gère la logique métier. Toutefois, l'expérience de la console modifie l'ordre des choses. Nous allons commencer par définir la manière dont nous voulons que notre source de données interagisse avec notre schéma, puis définirons le schéma et le résolveur ultérieurement.
Pour créer votre API GraphQL
-
Connectez-vous à AWS Management Console et ouvrez la console AppSync
. -
Dans le Tableau de bord, choisissez Créer une API.
-
Tandis queAPI GraphQLest sélectionné, choisissezDesign à partir de zéro. Ensuite, choisissez Next (Suivant).
-
PourNom de l'API, remplacez le nom prérempli par
Todo API
, puis choisissezSuivant.Note
D'autres options sont également présentes ici, mais nous ne les utiliserons pas dans cet exemple.
-
Dans leSpécifier les ressources GraphQLsection, procédez comme suit :
-
ChoisissezCréez du type basé sur une table DynamoDB dès maintenant.
Note
Cela signifie que nous allons créer une nouvelle table DynamoDB à joindre en tant que source de données.
-
Dans leNom du modèlechamp, entrez
Todo
.Note
Notre première exigence est de définir notre schéma. CeNom du modèlesera le nom du type, donc ce que vous faites réellement est de créer un
type
appeléTodo
qui existera dans le schéma :type Todo {}
-
En dessousChamps, procédez comme suit :
-
Créez un champ nommé
id
, avec le typeID
, et doit être défini surYes
.Note
Ce sont les champs qui existeront dans le cadre de votre
Todo
type. Le nom de votre champ ici sera appeléid
avec un type deID!
:type Todo { id: ID! }
AWS AppSyncprend en charge plusieurs valeurs scalaires pour différents cas d'utilisation.
-
En utilisantAjouter un nouveau champ, créez quatre champs supplémentaires avec
Name
valeurs définies surname
,when
,where
, etdescription
. LeurType
les valeurs serontString
, et leArray
etRequired
les valeurs seront toutes deux définies surNo
. Il doit ressembler à ce qui suit :Note
Le type complet et ses champs ressembleront à ceci :
type Todo { id: ID! name: String when: String where: String description: String }
Comme nous créons un schéma à l'aide de ce modèle prédéfini, il sera également rempli de plusieurs mutations standard basées sur le type, telles que
create
,delete
, etupdate
pour vous aider à remplir facilement votre source de données.
-
-
En dessousconfigurer la table des modèles, entrez un nom de table, tel que
TodoAPITable
. Réglez leClé primairepourid
.Note
Nous créons essentiellement une nouvelle table DynamoDB appelée
Todo Apitable
qui sera attachée à l'API en tant que source de données principale. Notre clé primaire est définie sur le paramètre requisid
champ que nous avons défini auparavant. Notez que cette nouvelle table est vide et ne contient rien d'autre que la clé de partition. -
Choisissez Suivant.
-
-
Passez en revue vos modifications et choisissezCréer une API. Attendez un moment pour laisserAWS AppSyncle service termine la création de votre API.
Vous avez créé avec succès une API GraphQL avec son schéma et sa source de données DynamoDB. Pour résumer les étapes ci-dessus, nous avons choisi de créer une toute nouvelle API GraphQL. Nous avons défini le nom de l'API, puis ajouté notre définition de schéma en ajoutant notre premier type. Nous avons défini le type et ses champs, puis choisi d'associer une source de données à l'un des champs en créant une nouvelle table DynamoDB ne contenant aucune donnée.