Objectif
Ce lab vous guide dans la création d’une API GraphQL Serverless avec AWS AppSync et DynamoDB. Vous apprendrez à :
✅ Créer un backend GraphQL avec AWS AppSync.
✅ Configurer DynamoDB comme source de données.
✅ Tester les requêtes et mutations GraphQL.
✅ Créer une interface Web pour interagir avec l’API (S3 Static Website).
1. Architecture du Lab
- Amazon DynamoDB pour stocker les utilisateurs.
- AWS AppSync pour exposer une API GraphQL.
Amazon S3 pour héberger une interface web statique pour tester l’API.
2. Création du Backend avec AWS AppSync
1. Créer une Table DynamoDB
- AWS Console > DynamoDB > Créer une table.
- Nom : Users.
- Clé primaire : user_id (Type : String).
- Mode de capacité : On-Demand.
- Créer la table.
2. Créer une API AWS AppSync
- AWS Console > AppSync > Create API.
- Choisissez “Build from scratch”.
- Nom : UserAPI.
- Authentification : Amazon Cognito (ou API Key pour simplifier).
- Créer l’API.
3. Définir le Schéma GraphQL
Dans AppSync > Schema, remplacez le contenu par :
mutation {
addUser(name: "Alice", email: "alice@example.com") {
user_id
name
email
}
}
Exécutez la requête pour récupérer un utilisateur :
query {
getUser(user_id: "12345") {
name
email
}
}
Exécutez la requête pour lister tous les utilisateurs :
query {
listUsers {
user_id
name
email
}
}
4. Création d’une Interface Web sur S3
1. Créer un Bucket S3
- AWS Console > S3 > Create Bucket.
- Nom : user-api-frontend.
- Désactiver le “Block all public access”.
- Activer “Static website hosting”.
2. Ajouter le Code HTML
Créez un fichier index.html avec :
Test API GraphQL
Ajouter un Utilisateur
Récupérer un Utilisateur
- Téléversez index.html sur S3.
Testez votre interface en visitant l’URL du site statique S3. 🚀
Conclusion
✅ API GraphQL Serverless avec AWS AppSync.
✅ DynamoDB comme backend NoSQL.
✅ Interface web statique sur S3 pour tester l’API. 🚀