Ursachen und Lösungen, wenn die Erstellung von Python Sam in einer neu erstellten Cloud9-Umgebung fehlschlägt

Der Anfang der Sache

Neulich (September 2020) habe ich versucht, die Hallo-Welt-Vorlage sam (Serverless Application Model) (Laufzeit ist Python3.8) in der neu erstellten AWS Cloud9-Entwicklungsumgebung (Plattform = AmazonLinux) auszugeben und zu erstellen und bereitzustellen. Beim Versuch, mit dem Befehl "sam build --use-container" zu erstellen, ist der folgende Fehler aufgetreten. Ich habe einen Fehler (Laufzeitfehler: Container existiert nicht) in der gerade erstellten Umgebung erhalten, daher wurde "Was ??" angezeigt.

(↓ dient als Referenz, bis die Vorlage hello_world ausgegeben wird)

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/

(Der Ort, an dem der von ↓ ausgegebene Befehl sam build von hello_world zu RuntimeError wird)

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__
~ (Weggelassen) ~
  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

Ursache und Lösung

Ich kannte die Ursache nicht intuitiv anhand der Fehlermeldung. Als ich mich an den AWS-Support wandte,

Aufgrund unzureichender Kapazität des EBS-Volumes, das der EC2-Instanz in der Cloud9-Umgebung zugeordnet ist

Ich habe die Antwort erhalten.

Es wurde gelöst, indem die Kapazität des EBS-Volumens unter Bezugnahme auf das folgende Dokument auf 20 G erweitert wurde.

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

Die Größenerweiterung durch diese Methode wird auch im folgenden Artikel vorgestellt und kann sehr einfach erweitert werden. Erhöhen Sie die Festplattengröße von AWS Cloud 9 https://qiita.com/Keisuke69/items/af87eb8629ad4249bd22

Die anfängliche Volume-Größe geht schnell zur Neige, insbesondere wenn Sie Docker-bezogene Arbeiten in Cloud 9 ausführen. Denken Sie also daran, wie Sie das Volume mit resize.sh bei Bedarf einfach erweitern können. Ich denke es ist bequem.

Es ist einfach, aber das war's. Ich hoffe, dass weniger Menschen Probleme mit dem gleichen Problem haben werden.

Recommended Posts

Ursachen und Lösungen, wenn die Erstellung von Python Sam in einer neu erstellten Cloud9-Umgebung fehlschlägt
Erstellen Sie eine Python + OpenCV-Umgebung in Cloud9
(Eine der Lösungen) Wenn die Installation von pyenv unter macOS zu BUILD FAILED führt und die Python-Installation fehlschlägt.
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Erstellen Sie die Python-Umgebung offline
Versuchen Sie, Python in der mit pipenv erstellten Django-Umgebung auszuführen
Erstellen Sie eine Python-Entwicklungsumgebung mit Eclipse (fügen Sie einen HTML-Editor hinzu).
Erstellen Sie eine Python-Umgebung und übertragen Sie Daten auf den Server
Ich habe eine Klasse in Python erstellt und versucht, Enten zu tippen
Probleme und Lösungen bei der Frage nach MySQL db in Python 3
Erstellen und testen Sie eine CI-Umgebung für mehrere Versionen von Python
Erstellen Sie eine 64-Bit-Python 2.7-Umgebung mit TDM-GCC und MinGW-w64 unter Windows 7
Erstellen Sie mit Anaconda und PyCharm eine Python-Umgebung auf Ihrem Mac
Erstellen und testen Sie mit Docker in wenigen Minuten eine OpenCV- und Python-Umgebung
Erstellen Sie eine Python3-Umgebung unter CentOS7
Beim Schreiben eines Programms in Python
Erstellen Sie eine Entwicklungsumgebung mit Jupyter und Flask mit Python in Docker (unterstützt sowohl VS Code als auch Code-Server).
[AWS] Hinweise zur Problemvermeidung bei der Installation von awscli und boto3 in einer Python 2.7-Umgebung
Erstellen Sie schnell eine Python-Umgebung für Deep Learning / Data Science (Windows)
[Django] SQLite-Versionsfehler beim Ausführen von python manage.py in einer aws cloud9-Umgebung
Erstellen Sie mit Cloud9 (jupyter miniconda python3) eine Lernumgebung für "Deep Learning von Grund auf neu".
Erstellen Sie einen leichtgewichtigen Server in Python und hören Sie sich die HTTP-Erweiterungen von Scratch 2 an
Methode zum Erstellen einer Python-Umgebung in Xcode 6
Vorsichtsmaßnahmen beim Beizen einer Funktion in Python
Erstellen Sie Python 3 und OpenCV unter Ubuntu 18.04
Erstellen Sie eine Python-Umgebung unter MacOS (Catallina)
Ich möchte eine Python-Umgebung erstellen
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Ich habe ein Passwort-Tool in Python erstellt.
Erstellen Sie mit Neovim eine moderne Python-Umgebung
Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Versuch und Irrtum]
Erstellen Sie ein Django-Projekt und eine Django-Anwendung in einer virtuellen Python-Umgebung und starten Sie den Server
Erstellen Sie eine Python-Umgebung, um die Theorie und Implementierung von Deep Learning zu erlernen
Erstellen Sie eine PYNQ-Umgebung auf Ultra96 V2 und melden Sie sich bei Jupyter Notebook an
Erstellen Sie in kürzester Zeit eine LAMP-Umgebung
Erstellen Sie in 1 Minute eine Vim + Python-Testumgebung
Empfohlene Umgebung und Verwendung bei der Entwicklung mit Python
Erstellen einer Python-Umgebung mit virtualenv und direnv
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
ffmpeg-Erstellen Sie eine Python-Umgebung und teilen Sie das Video
Erstellen Sie eine Python-Umgebung auf einem Mac (Mountain Lion)
Ich habe eine Klasse in Python3 und Java geschrieben
Erstellen Sie eine virtuelle Umgebung mit conda in Python
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Ein Memo, das in einem Paket erstellt und in PyPI registriert wurde
Erstellen Sie mit Sublime Text3 eine Python3-Build-Umgebung
Erstellen Sie mit Vagrant in 5 Minuten eine Django-Umgebung
Erstellen Sie eine Python-Entwicklungsumgebung auf Ihrem Mac
Erstellen einer einfachen virtuellen Python-Umgebung ohne Verwendung von pyenv
Ein Memo beim Erstellen einer Python-Umgebung mit Miniconda
Erstellen Sie eine virtuelle Umgebung mit pyenv und venv
Denken Sie daran, eine Python 3-Umgebung in einer Mac-Umgebung zu erstellen
Arbeiten Sie in einer virtuellen Umgebung mit Python virtualenv.
Versuchen Sie es mit Tensorflow. ① Erstellen Sie eine Python-Umgebung und führen Sie Tensorflow ein
Erstellen einer Python-Umgebung mit OSX Elcapitan
Erstellen Sie mit Eclipse eine Minecraft-Plug-Entwicklungsumgebung
Erstellen Sie mit IntelliJ schnell eine Python Django-Umgebung