Déploiement et exécution
Le déploiement du projet est fait, comme d’habitude, avec le scriptdeploy.sh, que voici :
#!/bin/bash
RANDOM=$$
BUCKET_NAME=bucketname-$RANDOM
STAGE_NAME=dev
AWS_REGION=$(aws configure list | grep region | awk '{print $2}')
aws s3 mb s3://$BUCKET_NAME
echo $BUCKET_NAME > bucket-name.txt
sam deploy --s3-bucket $BUCKET_NAME --stack-name chapter5-stack
--capabilities
CAPABILITY_IAM --parameter-overrides BucketName=
$AWS_REGION-$STAGE_NAME-$BUCKET_NAME
aws cloudformation wait stack-create-complete --stack-name
chapter5-stack
C’est presque le même script utilisé précédemment qui crée un compartiment S3, pour y stocker le JAR à déployer et qui utilise la commande sam deploy pour effectuer le déploiement proprement dit. À noter l’argument -parameter-overrides qui définit le nom d’un deuxième compartiment S3, celui qui déclenchera l’exécution de la fonction lorsqu’un fichier y sera déposé. Ce nom combine la région courante, le nom de l’étape de déploiement (par exemple dev, test, prod, etc.) ainsi que le nom généré aléatoirement.
Exécuter ce script produira le résultat suivant :
nicolas@BEL20:~/AWSLambda/projects/aws-lambda/chapter5$ ./deploy.sh
make_bucket: bucketname-11382
Deploying with following values ...