[DOCKER] [J'obtiens] Jusqu'au déploiement avec SAM CLI

Installation de l'AWS CLI

Ajout du chemin pour python et pip * Travail de première étape

・ Comment vérifier le chemin de python et pip Vérifier avec l'explorateur

pythonのpath確認方法.PNG

・ Ajout de chemin Ouvrez ce qui suit à partir de l'invite de commande Système et sécurité → Système → Paramètres système avancés → Variables d'environnement Sélectionnez Chemin dans la liste des variables d'environnement système et cliquez sur Modifier

pythonのpath追加.PNG

S'il n'y a pas de chemin pour python et pip, créez-en un nouveau

Installation de l'AWS CLI

C:\Users\USER>pip install awscli
Defaulting to user installation because normal site-packages is not writeable
Collecting awscli
  Downloading awscli-1.18.157-py2.py3-none-any.whl (3.4 MB)
     |████████████████████████████████| 3.4 MB 504 kB/s

Installing collected packages: six, python-dateutil, jmespath, urllib3, botocore, PyYAML, pyasn1, rsa, s3transfer, colorama, docutils, awscli
  WARNING: The scripts pyrsa-decrypt.exe, pyrsa-encrypt.exe, pyrsa-keygen.exe, pyrsa-priv2pub.exe, pyrsa-sign.exe and pyrsa-verify.exe are installed in 'C:\Users\USER\AppData\Roaming\Python\Python37\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed PyYAML-5.3.1 awscli-1.18.157 botocore-1.18.16 colorama-0.4.3 docutils-0.15.2 jmespath-0.10.0 pyasn1-0.4.8 python-dateutil-2.8.1 rsa-4.5 s3transfer-0.3.3 six-1.15.0 urllib3-1.25.10
WARNING: You are using pip version 20.1.1; however, version 20.2.3 is available.
You should consider upgrading via the 'c:\program files (x86)\microsoft visual studio\shared\python37_64\python.exe -m pip install --upgrade pip' command.

Le premier AVERTISSEMENT doit être ajouté car le chemin ne passe pas Le chemin à ajouter est décrit dans AVERTISSEMENT

Le deuxième AVERTISSEMENT est un guide que vous pouvez mettre à jour vers la dernière version avec une simple mise à niveau de pip

Paramètres de l'AWS CLI

C:\Users\USER>aws configure --profile IoT AWS Access Key ID [None]: ### AWS Secret Access Key [None]: ### Default region name [None]: ap-northeast-1 Default output format [None]: json

Confirmation après réglage Confirmation d'ec2

aws ec2 describe-instances --instance-ids ${instance-id} --profile IoT

Confirmation de S3

C:\Users\USER>aws s3 ls --profile IoT
2020-10-10 14:46:01 test7712121

Installation de l'interface de ligne de commande AWS SAM

Installation de Docker * Travaux de première étape

Tout d'abord, Gestionnaire de tâches → onglet Performances → CPU Confirmez que le champ "Virtuel" en bas à droite est activé.

仮想の有効確認.png

Dokcer Desktop pour Windows n'est pas inclus dans Windows 10 Famille lors de l'installation de Docker. Cette fois, j'ai décidé d'installer Docker Toolbox à la place. Installez la v19.03.1 à partir de «Installer Docker Toolbox pour Windows» à partir du site suivant https://docs.docker.com/toolbox/overview/

screencapture-docs-docker-toolbox-overview-2020-10-10-15_28_55.png

Je l'ai installé sans changer le contenu. docker導入.PNG

Si l'installation suivante s'affiche pendant l'installation de Docker, installez-la. docker_2.PNG

Installation de l'interface de ligne de commande AWS SAM

Téléchargez le programme d'installation ci-dessous https://github.com/awslabs/aws-sam-cli/releases/download/v0.6.2/AWS_SAM_CLI_64_PY3.msi

Commande de confirmation de version

C:\Users\USER>sam --version
SAM CLI, version 0.6.2

Contrairement au comportement que pensait init, je ne pouvais pas le spécifier Quand j'essaye de construire, j'ai une situation où je ne peux pas! !!

En fait, il s'est avéré que la version du programme d'installation était ancienne, donc Installez le dernier SAM et il sera résolu!

Construire et déployer

D'abord avec sam init à l'aide du modèle AWS SAM Initialisez l'application sans serveur. Au fait, ce n'est correct que la première fois, par exemple lors du changement de projet.

Cette fois, le réglage est        : 1 - AWS Quick Start Templates Langue: 8-python3.7 Project name  : test2 templates   : 1 - Hello World Example

C:\Users\USER\test>sam init
Which template source would you like to use?
        1 - AWS Quick Start Templates
        2 - Custom Template Location
Choice: 1

Which runtime would you like to use?
        1 - nodejs12.x
        2 - python3.8
        3 - ruby2.7
        4 - go1.x
        5 - java11
        6 - dotnetcore3.1
        7 - nodejs10.x
        8 - python3.7
        9 - python3.6
        10 - python2.7
        11 - ruby2.5
        12 - java8.al2
        13 - java8
        14 - dotnetcore2.1
Runtime: 8

Project name [sam-app]: test2

Cloning app templates from https://github.com/awslabs/aws-sam-cli-app-templates.git

AWS quick start application templates:
        1 - Hello World Example
        2 - EventBridge Hello World
        3 - EventBridge App from scratch (100+ Event Schemas)
        4 - Step Functions Sample App (Stock Trader)
Template selection:
Template selection: 1

-----------------------
Generating application:
-----------------------
Name: test2
Runtime: python3.7
Dependency Manager: pip
Application Template: hello-world
Output Directory: .

Next steps can be found in the README file at ./test2/README.md

Cette fois j'ai pu préciser comme je m'y attendais Exécutez avec l'option --guided requise pour la première fois, Voici le résultat de bilud et deploy start, mais il y a à nouveau une erreur ...

C:\Users\USER\sam_test>sam build
Building codeuri: hello_world/ runtime: python3.7 metadata: {} functions: ['HelloWorldFunction']
Running PythonPipBuilder:ResolveDependencies
Running PythonPipBuilder:CopySource

Build Succeeded

Built Artifacts  : .aws-sam\build
Built Template   : .aws-sam\build\template.yaml

Commands you can use next
=========================
[*] Invoke Function: sam local invoke
[*] Deploy: sam deploy --guided
sam deploy --guided --profile IoT

Configuring SAM deploy
======================

        Looking for config file [samconfig.toml] :  Not found

        Setting default arguments for 'sam deploy'
        =========================================
        Stack Name [sam-app]: sam_test
        AWS Region [us-east-1]: ap-northeast-1
        #Shows you resources changes to be deployed and require a 'Y' to initiate deploy
        Confirm changes before deploy [y/N]: N
        #SAM needs permission to be able to create roles to connect to the resources in your template
        Allow SAM CLI IAM role creation [Y/n]: Y
        HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y
        Save arguments to configuration file [Y/n]: Y
        SAM configuration file [samconfig.toml]:
        SAM configuration environment [default]:

        Looking for resources needed for deployment: Not found.
        Creating the required resources...
        Successfully created!


Initiating deployment
=====================
HelloWorldFunction may not have authorization defined.
Uploading to sam_test/25efe53b4bac655770621572b615acba.template  1132 / 1132.0  (100.00%)
Error: Failed to create changeset for the stack: sam_test, An error occurred (ValidationError) when calling the CreateChangeSet operation: 1 validation error detected: Value 'sam_test' at 'stackName' failed to satisfy constraint: Member must satisfy regular expression pattern: [a-zA-Z][-a-zA-Z0-9]*|arn:[-a-zA-Z0-9:/._+]*

En fait, c'était une erreur car "_" ne pouvait pas être utilisé pour stackName en raison d'une simple erreur. Je l'ai résolu en éditant le contenu du fichier samconfig.toml. Après avoir réparé, compilé et déployé et cela réussit.

Recommended Posts

[J'obtiens] Jusqu'au déploiement avec SAM CLI
J'ai essayé de démarrer avec Web Assembly
J'ai essayé de démarrer avec Spring Data JPA
Comment obtenir JDK etc. depuis Oracle avec CLI
Commencez avec Gradle
J'ai essayé de démarrer avec Swagger en utilisant Spring Boot