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.
Avec cet exemple d'application, vous construisez en utilisant ce que vous avez appris dans la présentation et le Guide de démarrage rapide, et installez un autre exemple d'application. Cette application se compose d'une fonction Lambda appelée par une source d'événement de table DynamoDB. La fonction Lambda est très simple : elle journalise les données qui ont été transmises par le message source de l'événement.
Cet exercice vous montre comment imiter les messages source d'événements qui sont transmis aux fonctions Lambda lorsqu'elles sont appelées.
Avant de commencer
Assurez-vous que vous avez terminé la configuration requise dans Installez le AWS SAM CLI.
Étape 1 : initialiser l'application
Dans cette section, vous allez télécharger le package de candidature, qui se compose d'un AWS SAM modèle et d'un code d'application.
Pour initialiser l'application
-
Exécutez la commande suivante sur AWS SAM CLI invite de commande.
sam init \ --location gh:aws-samples/cookiecutter-aws-sam-dynamodb-python \ --no-input
Notez que
gh:
dans la commande ci-dessus, elle est étendue à l' GitHub URLhttps://github.com/
. -
Vérifiez le contenu du répertoire créé par la commande (
dynamodb_event_reader/
) :-
template.yaml
— Définit deux AWS ressources dont l'application Read DynamoDB a besoin : une fonction Lambda et une table DynamoDB. Le modèle définit également le mappage entre les deux ressources. -
Répertoire
read_dynamodb_event/
– Contient le code d'application DynamoDB.
-
Étape 2 : tester l'application localement
Pour les tests locaux, utilisez AWS SAM CLI pour générer un exemple d'événement DynamoDB et appeler la fonction Lambda :
sam local generate-event dynamodb update | sam local invoke --event - ReadDynamoDBEvent
La generate-event
commande crée un message source d'événement de test, comme les messages créés lorsque tous les composants sont déployés dans le AWS cloud. Ce message de source d'événement est redirigé vers la fonction ReadDynamo DBEvent Lambda.
Vérifiez que les messages attendus soient imprimés sur la console, en fonction du code source dans app.py
.
Étape 3 : créer le package de l'application
Après avoir testé votre application localement, vous utilisez AWS SAM CLI pour créer un package de déploiement que vous utiliserez pour déployer l'application AWS dans le cloud.
Pour créer un package de déploiement Lambda
-
Créez un compartiment S3 à l'emplacement où vous souhaitez enregistrer le code empaqueté. Si vous souhaitez utiliser un compartiment S3 existant, ignorez cette étape.
aws s3 mb s3://
bucketname
-
Créez le package de déploiement en exécutant la commande CLI
package
suivante.sam package \ --template-file template.yaml \ --output-template-file packaged.yaml \ --s3-bucket
bucketname
Vous spécifiez le nouveau fichier de modèle,
packaged.yaml
, lorsque vous déployez l'application dans l'étape suivante.
Étape 4 : déployer l'application
Maintenant que vous avez créé le package de déploiement, vous l'utilisez pour déployer l'application AWS dans le cloud. Vous testez ensuite l'application.
Pour déployer l'application sans serveur dans le cloud AWS
-
Dans le AWS SAM CLI, utilisez la commande
deploy
CLI pour déployer toutes les ressources que vous avez définies dans le modèle.sam deploy \ --template-file packaged.yaml \ --stack-name sam-app \ --capabilities CAPABILITY_IAM \ --region
us-east-1
Dans la commande, le paramètre
--capabilities
permet à AWS CloudFormation de créer un rôle IAM.AWS CloudFormation crée les AWS ressources définies dans le modèle. Vous pouvez accéder aux noms de ces ressources dans la AWS CloudFormation console.
Pour tester l'application sans serveur dans le cloud AWS
-
Ouvrez la console DynamoDB.
-
Insérez un enregistrement dans la table que vous venez de créer.
-
Accédez à l'onglet Mesures du tableau, puis choisissez Afficher toutes les CloudWatch mesures. Dans la CloudWatch console, choisissez Logs pour pouvoir afficher le résultat du journal.
Étapes suivantes
Le AWS SAM GitHub référentiel contient des exemples d'applications supplémentaires que vous pouvez télécharger et tester. Pour accéder à ce référentiel, consultez Exemples d'applications AWS SAM