Causes et solutions lorsque la compilation de Python Sam échoue dans un environnement Cloud9 nouvellement créé

Le début de l'affaire

L'autre jour (septembre 2020), j'ai essayé de générer un modèle hello world (le runtime est python3.8) de sam (Serverless Application Model) dans l'environnement de développement Cloud 9 nouvellement créé (plateforme = AmazonLinux) d'AWS et essayez de construire et de déployer. Quand j'ai essayé de construire avec la commande "sam build --use-container", j'ai rencontré l'erreur suivante. J'ai eu une erreur (Erreur d'exécution: le conteneur n'existe pas) dans l'environnement que je viens de créer, donc j'ai "Quoi ??".

(↓ est pour référence, jusqu'à ce que le modèle hello_world soit sorti)

ec2-user:~/environment $ sam init --runtime python3.8 -n sam-py38

        SAM CLI now collects telemetry to better understand customer needs.

        You can OPT OUT and disable telemetry collection by setting the
        environment variable SAM_CLI_TELEMETRY=0 in your shell.
        Thanks for your help!

        Learn More: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-telemetry.html

Which template source would you like to use?
        1 - AWS Quick Start Templates
        2 - Custom Template Location
Choice: 1

Allow SAM CLI to download AWS-provided quick start templates from Github [Y/n]: Y

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)
        5 - Elastic File System Sample App
Template selection: 1

-----------------------
Generating application:
-----------------------
Name: sam-py38
Runtime: python3.8
Dependency Manager: pip
Application Template: hello-world
Output Directory: .

Next steps can be found in the README file at ./sam-py38/README.md
ec2-user:~/environment $ cd sam-py38/

(La commande sam build de la sortie hello_world par ↓ devient RuntimeError)

ec2-user:~/environment/sam-py38 $ sam build --use-container
Starting Build inside a container
Building resource 'HelloWorldFunction'

Fetching lambci/lambda:build-python3.8 Docker container image.....................................................................................................................................................................................................................................................
Mounting /home/ec2-user/environment/sam-py38/hello_world as /tmp/samcli/source:ro,delegated inside runtime container
Traceback (most recent call last):
  File "/usr/local/bin/sam", line 11, in <module>
    sys.exit(cli())
  File "/usr/local/lib64/python3.6/site-packages/click/core.py", line 764, in __call__
~ (Omis) ~
  File "/usr/local/lib/python3.6/site-packages/samcli/local/docker/container.py", line 197, in wait_for_logs
    raise RuntimeError("Container does not exist. Cannot get logs for this container")
RuntimeError: Container does not exist. Cannot get logs for this container

Cause et solution

Je ne connaissais pas intuitivement la cause du message d'erreur, donc quand j'ai contacté AWS Support,

En raison d'une capacité insuffisante du volume EBS associé à l'instance EC2 dans l'environnement Cloud9

J'ai reçu la réponse.

Il a été résolu en augmentant la capacité du volume EBS à 20G en se référant au document suivant.

Resize an Amazon EBS volume used by an environment https://docs.aws.amazon.com/cloud9/latest/user-guide/move-environment.html#move-environment-resize

L'expansion de taille par cette méthode est également introduite dans l'article ci-dessous, et elle peut être développée très facilement. Augmentez la taille du disque d'AWS Cloud 9 https://qiita.com/Keisuke69/items/af87eb8629ad4249bd22

La taille du volume initial s'épuisera rapidement, en particulier si vous effectuez un travail lié à docker sur Cloud 9, alors rappelez-vous comment étendre facilement le volume si nécessaire à l'aide de resize.sh. Je pense que c'est pratique.

C'est facile, mais c'est tout. J'espère que moins de gens auront des problèmes avec le même problème.

Recommended Posts

Causes et solutions lorsque la compilation de Python Sam échoue dans un environnement Cloud9 nouvellement créé
Créer un environnement Python + OpenCV sur Cloud9
(Une des solutions) lorsque l'installation de pyenv sur macOS provoque BUILD FAILED et l'installation de Python échoue.
Créez un environnement virtuel python avec virtualenv et virtualenvwrapper
Créez un environnement virtuel python avec virtualenv et virtualenvwrapper
Créer un environnement Python hors ligne
Essayez d'exécuter python dans l'environnement Django créé avec pipenv
Créer un environnement de développement Python avec Eclipse (ajouter un éditeur HTML)
Créer un environnement Python et transférer des données vers le serveur
J'ai créé une classe en Python et essayé de taper du canard
Problèmes et solutions à la demande de MySQL db dans Python 3
Créer et tester un environnement CI pour plusieurs versions de Python
Créez un environnement Python 2.7 64 bits avec TDM-GCC et MinGW-w64 sous Windows 7
Créez un environnement Python sur votre Mac avec Anaconda et PyCharm
Créez et essayez un environnement OpenCV et Python en quelques minutes à l'aide de Docker
Créer un environnement python3 sur CentOS7
Lors de l'écriture d'un programme en Python
Créer un environnement de développement à l'aide de Jupyter et Flask avec Python dans Docker (prend en charge à la fois VS Code / code-server)
[AWS] Notes pour éviter les problèmes lors de l'installation de awscli et boto3 dans l'environnement Python 2.7
Créez rapidement un environnement python pour le Deep Learning / Data Science (Windows)
[Django] Erreur de version de sqlite lors de l'exécution de python manage.py dans l'environnement aws cloud9
Créez un environnement d'apprentissage pour le «Deep learning from scratch» avec Cloud9 (jupyter miniconda python3)
Construisez un serveur léger en Python et écoutez les extensions HTTP de Scratch 2
Méthode pour créer un environnement Python dans Xcode 6
Précautions lors du décapage d'une fonction en python
Créer un environnement Python 3 et OpenCV sur Ubuntu 18.04
Construire un environnement python sur MacOS (Catallina)
Je veux créer un environnement Python
Créez un environnement virtuel pour python avec pyenv
J'ai créé un outil de mot de passe en Python.
Créez un environnement Python moderne avec Neovim
Construisez un environnement Python + bouteille + MySQL avec Docker sur RaspberryPi3! [Essai et erreur]
Créer un projet et une application Django dans un environnement virtuel Python et démarrer le serveur
Créez un environnement python pour apprendre la théorie et la mise en œuvre de l'apprentissage profond
Créez un environnement PYNQ sur Ultra96 V2 et connectez-vous à Jupyter Notebook
Créez un environnement LAMP en très peu de temps
Créez un environnement de test Vim + Python en 1 minute
Environnement et utilisation recommandés lors du développement avec Python
Construire un environnement python avec virtualenv et direnv
Créez un environnement python avec ansible sur centos6
ffmpeg-Construisez un environnement python et divisez la vidéo
Créer un environnement Python sur Mac (Mountain Lion)
J'ai écrit une classe en Python3 et Java
Créer un environnement virtuel avec conda avec Python
[Python] Créer un environnement de développement Django avec Docker
Un mémo créé dans un package et enregistré dans PyPI
Créer un environnement de construction python3 avec Sublime Text3
Créez un environnement Django avec Vagrant en 5 minutes
Créez un environnement de développement Python sur votre Mac
Créer un environnement virtuel Python simple sans utiliser pyenv
Un mémo lors de la création d'un environnement python avec miniconda
Créez un environnement virtuel avec pyenv et venv
Pensez à créer un environnement Python 3 dans un environnement Mac
Travaillez dans un environnement virtuel avec Python virtualenv.
Essayez d'utiliser tensorflow ① Créez un environnement python et introduisez tensorflow
Construire un environnement Python avec OSX Elcapitan
Créez un environnement de développement de plugins Minecraft avec Eclipse
Créez rapidement un environnement Python Django avec IntelliJ