Tutoriel : Utilisation de Lambda avec Gateway API - AWS Lambda

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.

Tutoriel : Utilisation de Lambda avec Gateway API

Dans ce didacticiel, vous allez créer un REST API via lequel vous appelez une fonction Lambda à l'aide d'une HTTP requête. Votre fonction Lambda effectuera des opérations de création, de lecture, de mise à jour et de suppression (CRUD) sur une table DynamoDB. Cette fonction est fournie ici à titre de démonstration, mais vous apprendrez à configurer une API passerelle REST API capable d'invoquer n'importe quelle fonction Lambda.

Services et ressources utilisés dans ce tutoriel

L'utilisation de API Gateway fournit aux utilisateurs un point de HTTP terminaison sécurisé pour appeler votre fonction Lambda et peut aider à gérer de gros volumes d'appels vers votre fonction en limitant le trafic et en validant et en autorisant automatiquement les appels. API APIGateway fournit également des contrôles de sécurité flexibles à l'aide de AWS Identity and Access Management (IAM) et Amazon Cognito. Ceci est utile pour les cas d’utilisation où une autorisation préalable est requise pour les appels à votre application.

Pour réaliser ce tutoriel, vous passerez par les étapes suivantes :

  1. Créer et configurer une fonction Lambda en Python ou Node.js pour effectuer des opérations sur une table DynamoDB.

  2. Créez une API passerelle REST API intégrée pour vous connecter à votre fonction Lambda.

  3. Créer une table DynamoDB et la tester avec votre fonction Lambda dans la console.

  4. Déployez votre installation API et testez-la complète à l'aide de curl dans un terminal.

En effectuant ces étapes, vous apprendrez à utiliser API Gateway pour créer un HTTP point de terminaison capable d'invoquer en toute sécurité une fonction Lambda à n'importe quelle échelle. Vous apprendrez également comment déployer le vôtreAPI, comment le tester dans la console et en envoyant une HTTP demande à l'aide d'un terminal.

Prérequis

Si vous n'en avez pas Compte AWS, procédez comme suit pour en créer un.

Pour vous inscrire à un Compte AWS
  1. Ouvrez l'https://portal.aws.amazon.com/billing/inscription.

  2. Suivez les instructions en ligne.

    Dans le cadre de la procédure d‘inscription, vous recevrez un appel téléphonique et vous saisirez un code de vérification en utilisant le clavier numérique du téléphone.

    Lorsque vous vous inscrivez à un Compte AWS, un Utilisateur racine d'un compte AWSest créé. Par défaut, seul l‘utilisateur racine a accès à l‘ensemble des services AWS et des ressources de ce compte. La meilleure pratique de sécurité consiste à attribuer un accès administratif à un utilisateur, et à utiliser uniquement l‘utilisateur racine pour effectuer les tâches nécessitant un accès utilisateur racine.

AWS vous envoie un e-mail de confirmation une fois le processus d'inscription terminé. À tout moment, vous pouvez consulter l'activité actuelle de votre compte et gérer votre compte en accédant à https://aws.amazon.com/et en choisissant Mon compte.

Une fois que vous vous êtes inscrit à un utilisateur administratif Compte AWS, que vous Utilisateur racine d'un compte AWS l'avez sécurisé AWS IAM Identity Center, que vous l'avez activé et que vous en avez créé un, afin de ne pas utiliser l'utilisateur root pour les tâches quotidiennes.

Sécurisez votre Utilisateur racine d'un compte AWS
  1. Connectez-vous en AWS Management Consoletant que propriétaire du compte en choisissant Utilisateur root et en saisissant votre adresse Compte AWS e-mail. Sur la page suivante, saisissez votre mot de passe.

    Pour obtenir de l‘aide pour vous connecter en utilisant l‘utilisateur racine, consultez Connexion en tant qu‘utilisateur racine dans le Guide de l‘utilisateur Connexion à AWS .

  2. Activez l'authentification multifactorielle (MFA) pour votre utilisateur root.

    Pour obtenir des instructions, voir Activer un MFA périphérique virtuel pour votre utilisateur Compte AWS root (console) dans le guide de IAM l'utilisateur.

Création d'un utilisateur doté d'un accès administratif
  1. Activez IAM Identity Center.

    Pour obtenir des instructions, consultez Activation d’ AWS IAM Identity Center dans le Guide de l’utilisateur AWS IAM Identity Center .

  2. Dans IAM Identity Center, accordez un accès administratif à un utilisateur.

    Pour un didacticiel sur l'utilisation du Répertoire IAM Identity Center comme source d'identité, voir Configurer l'accès utilisateur par défaut Répertoire IAM Identity Center dans le Guide de AWS IAM Identity Center l'utilisateur.

Connexion en tant qu‘utilisateur doté d'un accès administratif
  • Pour vous connecter avec votre utilisateur IAM Identity Center, utilisez l'URLidentifiant envoyé à votre adresse e-mail lorsque vous avez créé l'utilisateur IAM Identity Center.

    Pour obtenir de l'aide pour vous connecter en utilisant un utilisateur d'IAMIdentity Center, consultez la section Connexion au portail AWS d'accès dans le guide de Connexion à AWS l'utilisateur.

Attribution d'un accès à d'autres utilisateurs
  1. Dans IAM Identity Center, créez un ensemble d'autorisations conforme à la meilleure pratique consistant à appliquer les autorisations du moindre privilège.

    Pour obtenir des instructions, consultez Création d’un ensemble d’autorisations dans le Guide de l’utilisateur AWS IAM Identity Center .

  2. Attribuez des utilisateurs à un groupe, puis attribuez un accès par authentification unique au groupe.

    Pour obtenir des instructions, consultez Ajout de groupes dans le Guide de l’utilisateur AWS IAM Identity Center .

Si vous ne l'avez pas encore installé AWS Command Line Interface, suivez les étapes décrites dans la section Installation ou mise à jour de la dernière version du AWS CLI pour l'installer.

Ce tutoriel nécessite un terminal de ligne de commande ou un shell pour exécuter les commandes. Sous Linux et macOS, utilisez votre gestionnaire de shell et de package préféré.

Note

Sous Windows, certaines CLI commandes Bash que vous utilisez couramment avec Lambda (ziptelles que) ne sont pas prises en charge par les terminaux intégrés du système d'exploitation. Installez le sous-système Windows pour Linux afin d’obtenir une version intégrée à Windows d’Ubuntu et Bash.

Créer une stratégie d’autorisations

Étape 1 : créer une stratégie d’autorisations

Avant de créer un rôle d'exécution pour votre fonction Lambda, vous devez d'abord créer une politique d'autorisation pour autoriser votre fonction à accéder aux ressources requises AWS . Pour ce didacticiel, la politique permet à Lambda d'effectuer des CRUD opérations sur une table DynamoDB et d'écrire dans Amazon Logs. CloudWatch

Pour créer la politique
  1. Ouvrez la page Politiques de la IAM console.

  2. Choisissez Create Policy (Créer une politique).

  3. Choisissez l'JSONonglet, puis collez la politique personnalisée suivante dans l'JSONéditeur.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1428341300017", "Action": [ "dynamodb:DeleteItem", "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:Query", "dynamodb:Scan", "dynamodb:UpdateItem" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "", "Resource": "*", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Effect": "Allow" } ] }
  4. Choisissez Suivant : Balises.

  5. Choisissez Suivant : Vérification.

  6. Sous Examiner une stratégie, pour le Nom de la stratégie, saisissez lambda-apigateway-policy.

  7. Choisissez Créer une stratégie.

Créer un rôle d’exécution

Étape 2 : créer un rôle d’exécution

Un rôle d'exécution est un rôle AWS Identity and Access Management (IAM) qui accorde à une fonction Lambda l'autorisation d'accéder aux AWS services et aux ressources. Pour permettre à votre fonction d’effectuer des opérations sur une table DynamoDB, vous attachez la politique d’autorisation que vous avez créée à l’étape précédente.

Pour créer un rôle d’exécution et attacher votre politique d’autorisations personnalisée
  1. Ouvrez la page Rôles de la IAM console.

  2. Sélectionnez Créer un rôle.

  3. Pour le type d’entité de confiance, choisissez Service AWS , puis pour le cas d’utilisation, choisissez Lambda.

  4. Choisissez Suivant.

  5. Dans la zone de recherche de stratégie, entrez lambda-apigateway-policy.

  6. Dans les résultats de la recherche, sélectionnez la stratégie que vous avez créée (lambda-apigateway-policy), puis choisissez Suivant.

  7. Sous Role details (Détails du rôle), pour Role name (Nom du rôle), saisissez lambda-apigateway-role, puis sélectionnez Create role (Créer un rôle).

Plus loin dans le didacticiel, vous aurez besoin du nom de ressource Amazon (ARN) du rôle que vous venez de créer. Sur la page Rôles de la IAM console, choisissez le nom de votre rôle (lambda-apigateway-role) et copiez le rôle ARN affiché sur la page Résumé.

Créer la fonction

Étape 3 : créer la fonction

L'exemple de code suivant reçoit une entrée d'événement de API Gateway spécifiant une opération à effectuer sur la table DynamoDB que vous allez créer et certaines données de charge utile. Si les paramètres que la fonction reçoit sont valides, elle exécute l’opération demandée sur la table.

Node.js
Exemple index.mjs
import { DynamoDBDocumentClient, PutCommand, GetCommand, UpdateCommand, DeleteCommand} from "@aws-sdk/lib-dynamodb"; import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; const ddbClient = new DynamoDBClient({ region: "us-east-2" }); const ddbDocClient = DynamoDBDocumentClient.from(ddbClient); // Define the name of the DDB table to perform the CRUD operations on const tablename = "lambda-apigateway"; /** * Provide an event that contains the following keys: * * - operation: one of 'create,' 'read,' 'update,' 'delete,' or 'echo' * - payload: a JSON object containing the parameters for the table item * to perform the operation on */ export const handler = async (event, context) => { const operation = event.operation; if (operation == 'echo'){ return(event.payload); } else { event.payload.TableName = tablename; let response; switch (operation) { case 'create': response = await ddbDocClient.send(new PutCommand(event.payload)); break; case 'read': response = await ddbDocClient.send(new GetCommand(event.payload)); break; case 'update': response = ddbDocClient.send(new UpdateCommand(event.payload)); break; case 'delete': response = ddbDocClient.send(new DeleteCommand(event.payload)); break; default: response = 'Unknown operation: ${operation}'; } console.log(response); return response; } };
Note

Dans cet exemple, le nom de la table DynamoDB est défini comme une variable dans le code de votre fonction. Dans une application réelle, passer ce paramètre comme une variable d’environnement et éviter de coder en dur le nom de la table constitue une bonne pratique. Pour plus d'informations, voir Utilisation de variables d' AWS Lambda environnement.

Pour créer la fonction
  1. Enregistrez l'exemple de code sous forme de fichier nommé index.mjs et, si nécessaire, modifiez la AWS région spécifiée dans le code. La région spécifiée dans le code doit être la même que celle dans laquelle vous créez votre table DynamoDB plus loin dans le tutoriel.

  2. Créez un package de déploiement à l’aide de la commande zip suivante.

    zip function.zip index.mjs
  3. Créez une fonction Lambda à l'aide de la create-function AWS CLI commande. Pour le role paramètre, entrez le nom de ressource Amazon (ARN) du rôle d'exécution que vous avez copié précédemment.

    aws lambda create-function \ --function-name LambdaFunctionOverHttps \ --zip-file fileb://function.zip \ --handler index.handler \ --runtime nodejs20.x \ --role arn:aws:iam::123456789012:role/service-role/lambda-apigateway-role
Python 3
Exemple LambdaFunctionOverHttps.py
import boto3 # Define the DynamoDB table that Lambda will connect to table_name = "lambda-apigateway" # Create the DynamoDB resource dynamo = boto3.resource('dynamodb').Table(table_name) # Define some functions to perform the CRUD operations def create(payload): return dynamo.put_item(Item=payload['Item']) def read(payload): return dynamo.get_item(Key=payload['Key']) def update(payload): return dynamo.update_item(**{k: payload[k] for k in ['Key', 'UpdateExpression', 'ExpressionAttributeNames', 'ExpressionAttributeValues'] if k in payload}) def delete(payload): return dynamo.delete_item(Key=payload['Key']) def echo(payload): return payload operations = { 'create': create, 'read': read, 'update': update, 'delete': delete, 'echo': echo, } def lambda_handler(event, context): '''Provide an event that contains the following keys: - operation: one of the operations in the operations dict below - payload: a JSON object containing parameters to pass to the operation being performed ''' operation = event['operation'] payload = event['payload'] if operation in operations: return operations[operation](payload) else: raise ValueError(f'Unrecognized operation "{operation}"')
Note

Dans cet exemple, le nom de la table DynamoDB est défini comme une variable dans le code de votre fonction. Dans une application réelle, passer ce paramètre comme une variable d’environnement et éviter de coder en dur le nom de la table constitue une bonne pratique. Pour plus d'informations, voir Utilisation de variables d' AWS Lambda environnement.

Pour créer la fonction
  1. Enregistrez l’exemple de code en tant que fichier nommé LambdaFunctionOverHttps.py.

  2. Créez un package de déploiement à l’aide de la commande zip suivante.

    zip function.zip LambdaFunctionOverHttps.py
  3. Créez une fonction Lambda à l'aide de la create-function AWS CLI commande. Pour le role paramètre, entrez le nom de ressource Amazon (ARN) du rôle d'exécution que vous avez copié précédemment.

    aws lambda create-function \ --function-name LambdaFunctionOverHttps \ --zip-file fileb://function.zip \ --handler LambdaFunctionOverHttps.lambda_handler \ --runtime python3.12 \ --role arn:aws:iam::123456789012:role/service-role/lambda-apigateway-role

Appelez la fonction à l'aide du AWS CLI

Étape 4 : appelez la fonction à l'aide du AWS CLI

Avant d'intégrer votre fonction à API Gateway, vérifiez que vous l'avez déployée avec succès. Créez un événement de test contenant les paramètres que votre API passerelle API enverra à Lambda et utilisez la AWS CLI invoke commande pour exécuter votre fonction.

Pour appeler la fonction Lambda avec le AWS CLI
  1. Enregistrez le fichier suivant JSON sous forme de fichier nomméinput.txt.

    { "operation": "echo", "payload": { "somekey1": "somevalue1", "somekey2": "somevalue2" } }
  2. Exécutez la commande suivante invoke AWS CLI .

    aws lambda invoke \ --function-name LambdaFunctionOverHttps \ --payload file://input.txt outputfile.txt \ --cli-binary-format raw-in-base64-out

    L'cli-binary-formatoption est obligatoire si vous utilisez AWS CLI la version 2. Pour faire de ce paramètre le paramètre par défaut, exécutez aws configure set cli-binary-format raw-in-base64-out. Pour plus d’informations, consultez les options de ligne de commande globales prises en charge par l’AWS CLI dans le Guide de l’utilisateur AWS Command Line Interface version 2.

    Vous devriez voir la réponse suivante :

    { "StatusCode": 200, "ExecutedVersion": "LATEST" }
  3. Vérifiez que votre fonction a effectué l'echoopération que vous avez spécifiée lors de l'événement de JSON test. Inspectez le fichier outputfile.txt et vérifiez qu’il contient les éléments suivants :

    {"somekey1": "somevalue1", "somekey2": "somevalue2"}

Création d'une API passerelle REST API d'utilisation

Étape 5 : créez le API

Au cours de cette étape, vous créez la API passerelle REST API que vous utiliserez pour appeler votre fonction Lambda.

Pour créer le API
  1. Ouvrez la console API Gateway.

  2. Choisissez Créer API.

  3. Dans le RESTAPIchamp, choisissez Build.

  4. Dans APIDétails, laissez Nouveau API sélectionné, et dans APINom, entrezDynamoDBOperations.

  5. Choisissez Créer API.

Créez une ressource sur votre REST API

Étape 6 : créer la API ressource

Pour ajouter une HTTP méthode à votreAPI, vous devez d'abord créer une ressource pour que cette méthode puisse fonctionner. Ici, vous créez la ressource pour gérer votre table DynamoDB.

Pour créer la ressource
  1. Dans la console API Gateway, sur la page Ressources de votreAPI, choisissez Create Resource.

  2. Dans Détails de la ressource, pour Nom de la ressource saisissez DynamoDBManager.

  3. Choisissez Create Resource.

Création d'une HTTP POST méthode

Étape 7 : créer la HTTP POST méthode

Dans cette étape, vous créez une méthode (POST) pour votre ressource DynamoDBManager. Vous liez cette POST méthode à votre fonction Lambda de sorte que lorsque la méthode reçoit une HTTP demande, API Gateway invoque votre fonction Lambda.

Note

Dans le cadre de ce didacticiel, une HTTP méthode (POST) est utilisée pour appeler une seule fonction Lambda qui exécute toutes les opérations sur votre table DynamoDB. Dans une application réelle, la meilleure pratique consiste à utiliser une fonction et une HTTP méthode Lambda différentes pour chaque opération. Pour plus d’informations, consultez Le monolithe Lambda dans Serverless Land.

Pour créer la méthode POST
  1. Sur la page Ressources de votre choixAPI, assurez-vous que la /DynamoDBManager ressource est surlignée. Ensuite, dans le volet Méthodes, choisissez Create Method (Créer une méthode).

  2. Dans Type de méthode, sélectionnez POST.

  3. Pour Type d’intégration, laissez la Fonction Lambda sélectionnée.

  4. Pour la fonction Lambda, choisissez le nom de ressource Amazon (ARN) pour votre fonction (LambdaFunctionOverHttps).

  5. Choisissez Créer une méthode.

Créez une table DynamoDB

Étape 8 : créer une table DynamoDB

Créez une table DynamoDB vide sur laquelle votre fonction Lambda effectuera des opérations. CRUD

Créer le tableau DynamoDB
  1. Ouvrez la page Tables (Tables) de la console DynamoDB.

  2. Choisissez Créer un tableau.

  3. Sous Détails du tableau, procédez comme suit :

    1. Sous Nom du tableau, saisissez lambda-apigateway.

    2. Pour Clé de partition, saisissez id, et conservez le type de données défini comme Chaîne.

  4. Sous Table settings (Paramètres de la table), conservez les Default settings (Paramètres par défaut).

  5. Choisissez Créer un tableau.

Testez l'intégration de API Gateway, Lambda et DynamoDB

Étape 9 : tester l'intégration de API Gateway, Lambda et DynamoDB

Vous êtes maintenant prêt à tester l'intégration de votre API méthode API Gateway à votre fonction Lambda et à votre table DynamoDB. À l'aide de la console API Gateway, vous envoyez des demandes directement à votre POST méthode à l'aide de la fonction de test de la console. Dans cette étape, vous utilisez d’abord une opération create pour ajouter un nouvel élément à votre table DynamoDB, puis vous utilisez une opération update pour modifier l’élément.

Test 1 : Pour créer un nouvel élément dans votre table DynamoDB
  1. Dans la console API Gateway, choisissez votre API (DynamoDBOperations).

  2. Choisissez la POSTméthode sous la DynamoDBManager ressource.

    Choisissez la POST méthode sous la DynamoDBManager ressource.
  3. Choisissez l’onglet Test. Vous devrez peut-être choisir la flèche droite pour afficher l'onglet.

  4. Sous Méthode de test, laissez les Chaînes de requête et les En-têtes vides. Pour le corps de la demande, collez ce qui suit JSON :

    { "operation": "create", "payload": { "Item": { "id": "1234ABCD", "number": 5 } } }
  5. Sélectionnez Tester).

    Les résultats qui s’affichent à la fin du test doivent indiquer le statut 200. Ce code d’état indique que l’opération create a réussi.

    Pour confirmer, vérifiez que votre table DynamoDB contient maintenant le nouvel élément.

  6. Ouvrez la page Tables de la console DynamoDB et choisissez la table lambda-apigateway.

  7. Choisissez Explore table items (Explorer les éléments de la table). Dans le volet Items returned (Éléments retournés), vous devriez voir un élément avec l’id 1234ABCD et le numéro 5.

Test 2 : Pour mettre à jour l’élément dans votre table DynamoDB
  1. Dans la console API Gateway, retournez à l'onglet Test de votre POST méthode.

  2. Sous Méthode de test, laissez les Chaînes de requête et les En-têtes vides. Pour le corps de la demande, collez ce qui suit JSON :

    { "operation": "update", "payload": { "Key": { "id": "1234ABCD" }, "AttributeUpdates": { "number": { "Value": 10 } } } }
  3. Sélectionnez Tester).

    Les résultats qui s’affichent à la fin du test devraient montrer l’état 200. Ce code d’état indique que l’opération update a réussi.

    Pour confirmer, vérifiez que l’élément dans votre table DynamoDB a été modifié.

  4. Ouvrez la page Tables de la console DynamoDB et choisissez la table lambda-apigateway.

  5. Choisissez Explore table items (Explorer les éléments de la table). Dans le volet Items returned (Éléments retournés), vous devriez voir un élément avec l’id 1234ABCD et le numéro 10.

Déployez le API

Étape 10 : déployez le API

Pour qu'un client puisse appeler leAPI, vous devez créer un déploiement et une étape associée. Une étape représente un aperçu de vous, API y compris de ses méthodes et de ses intégrations.

Pour déployer l'API
  1. Ouvrez la APIspage de la console API Gateway et choisissez le DynamoDBOperationsAPI.

  2. Sur la page Ressources, API choisissez Déployer API.

  3. Pour Stage (Étape), choisissez *New stage* (Nouvelle étape), puis pour Stage name (Nom de l’étape), saisissez test.

  4. Choisissez Deploy (Déployer).

  5. Dans le volet des détails de l'étape, copiez l'Invoke URL. Vous l'utiliserez à l'étape suivante pour appeler votre fonction à l'aide d'une HTTP requête.

Utilisez curl pour appeler votre fonction à l'aide de requêtes HTTP

Étape 11 : invoquez la fonction avec une HTTP demande

Vous pouvez désormais appeler votre fonction Lambda en envoyant une HTTP demande à votre. API Au cours de cette étape, vous allez créer un nouvel élément dans votre table DynamoDB, puis effectuer des opérations de lecture, de mise à jour et de suppression sur cet élément.

Pour créer un élément dans votre table DynamoDB à l'aide de curl
  1. Exécutez la curl commande suivante en utilisant l'appel que URL vous avez copié à l'étape précédente. Lorsque vous utilisez curl avec l'option -d (data), la HTTP POST méthode est automatiquement utilisée.

    curl https://l8togsqxd8.execute-api.us-east-2.amazonaws.com/test/DynamoDBManager \ -d '{"operation": "create", "payload": {"Item": {"id": "5678EFGH", "number": 15}}}'

    Si l'opération a réussi, vous devriez voir une réponse renvoyée avec un code d'HTTPétat de 200.

  2. Vous pouvez également utiliser la console DynamoDB pour vérifier que le nouvel élément figure dans votre tableau en procédant comme suit :

    1. Ouvrez la page Tables de la console DynamoDB et choisissez la table lambda-apigateway.

    2. Sélectionnez Explore table items (Explorer les éléments de la table). Dans le volet Items returned (Éléments retournés), vous devriez voir un élément avec l’id 5678EFGH et le numéro 15.

Pour lire l'élément de votre table DynamoDB à l'aide de curl
  • Exécutez la curl commande suivante pour lire la valeur de l'élément que vous venez de créer. Utilisez votre propre invocationURL.

    curl https://avos4dr2rk.execute-api.us-east-2.amazonaws.com/test/DynamoDBManager -d \ '{"operation": "read", "payload": {"Key": {"id": "5678EFGH"}}}'

    Vous devriez obtenir un résultat semblable à l'un des suivants selon que vous avez choisi le code de fonction Node.js ou Python :

    Node.js
    {"$metadata":{"httpStatusCode":200,"requestId":"7BP3G5Q0C0O1E50FBQI9NS099JVV4KQNSO5AEMVJF66Q9ASUAAJG", "attempts":1,"totalRetryDelay":0},"Item":{"id":"5678EFGH","number":15}}
    Python
    {"Item":{"id":"5678EFGH","number":15},"ResponseMetadata":{"RequestId":"QNDJICE52E86B82VETR6RKBE5BVV4KQNSO5AEMVJF66Q9ASUAAJG", "HTTPStatusCode":200,"HTTPHeaders":{"server":"Server","date":"Wed, 31 Jul 2024 00:37:01 GMT","content-type":"application/x-amz-json-1.0", "content-length":"52","connection":"keep-alive","x-amzn-requestid":"QNDJICE52E86B82VETR6RKBE5BVV4KQNSO5AEMVJF66Q9ASUAAJG","x-amz-crc32":"2589610852"}, "RetryAttempts":0}}
Pour mettre à jour l'élément de votre table DynamoDB à l'aide de curl
  1. Exécutez la curl commande suivante pour mettre à jour l'élément que vous venez de créer en modifiant sa number valeur. Utilisez votre propre invocationURL.

    curl https://avos4dr2rk.execute-api.us-east-2.amazonaws.com/test/DynamoDBManager \ -d '{"operation": "update", "payload": {"Key": {"id": "5678EFGH"}, "UpdateExpression": "SET #num = :new_value", "ExpressionAttributeNames": {"#num": "number"}, "ExpressionAttributeValues": {":new_value": 42}}}'
  2. Pour confirmer que la valeur de number pour l'élément a été mise à jour, exécutez une autre commande de lecture :

    curl https://avos4dr2rk.execute-api.us-east-2.amazonaws.com/test/DynamoDBManager \ -d '{"operation": "read", "payload": {"Key": {"id": "5678EFGH"}}}'
Pour supprimer l'élément de votre table DynamoDB à l'aide de curl
  1. Exécutez la commande curl suivante pour supprimer l’élément que vous venez de créer. Utilisez votre propre invocationURL.

    curl https://l8togsqxd8.execute-api.us-east-2.amazonaws.com/test/DynamoDBManager \ -d '{"operation": "delete", "payload": {"Key": {"id": "5678EFGH"}}}'
  2. Confirmez que l’opération de suppression a réussi. Dans le volet Items returned (Éléments retournés) de la page Explore items (Explorer les éléments) de la console DynamoDB, vérifiez que l’élément avec l’id 5678EFGH n’est plus dans la table.

Nettoyer vos ressources (facultatif)

Vous pouvez maintenant supprimer les ressources que vous avez créées pour ce didacticiel, sauf si vous souhaitez les conserver. En supprimant AWS les ressources que vous n'utilisez plus, vous évitez des frais inutiles pour votre Compte AWS.

Pour supprimer la fonction Lambda
  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Sélectionnez la fonction que vous avez créée.

  3. Sélectionnez Actions, Supprimer.

  4. Saisissez delete dans la zone de saisie de texte et choisissez Delete (Supprimer).

Pour supprimer le rôle d’exécution
  1. Ouvrez la page Rôles de la IAM console.

  2. Sélectionnez le rôle d’exécution que vous avez créé.

  3. Sélectionnez Delete (Supprimer).

  4. Saisissez le nom du rôle dans le champ de saisie de texte et choisissez Delete (Supprimer).

Pour supprimer le API
  1. Ouvrez la APIspage de la console API Gateway.

  2. Sélectionnez le API que vous avez créé.

  3. Sélectionnez Actions, Supprimer.

  4. Sélectionnez Delete (Supprimer).

Pour supprimer la table DynamoDB
  1. Ouvrez la page Tables (Tables) de la console DynamoDB.

  2. Sélectionnez la table que vous avez créée.

  3. Choisissez Supprimer.

  4. Saisissez delete dans la zone de texte.

  5. Choisissez Supprimer la table.