Erstellen Sie mit dem Serverless Framework eine lokale Entwicklungsumgebung für Lambda + Python

Ein Memo beim Erstellen einer lokalen Entwicklungsumgebung für Lambda + Python mit Serverless Framework unter Windows. Erstellen Sie eine Umgebung, in der Sie Unit-Tests lokal durchführen können, ohne sie tatsächlich in AWS bereitzustellen.

Python-Installation

Die neueste Version von Original Windows Download Site (zum Zeitpunkt des Schreibens von 3.8.1 Laden Sie /3.8.1/python-3.8.1-amd64.exe)) herunter und führen Sie es aus.

Aktivieren Sie im ersten Bildschirm "Python 3.8 zu PATH hinzufügen" und klicken Sie auf "Jetzt installieren", um eine Standardinstallation durchzuführen. Klicken Sie im letzten Bildschirm auf "Pfadlängenbegrenzung deaktivieren", um die Pfadlängenbeschränkung zu entfernen.

>python --version
Python 3.8.1

OK, wenn die Version korrekt angezeigt wird.

Installation von pipenv

Installation mit Pythons Paketverwaltungssystem pip.

>pip install pipenv
(Abkürzung)
Successfully installed appdirs-1.4.3 certifi-2019.11.28 distlib-0.3.0 filelock-3.0.12 pipenv-2018.11.26 six-1.14.0 virtualenv-20.0.1 virtualenv-clone-0.5.3

>pipenv --version
pipenv, version 2018.11.26

Installieren Sie Node.js.

Da Serverless Framework mit Node.js erstellt wird, installieren Sie Node.js.

Die neueste Version des Installationsprogramms für Windows von Home Download Site (zum Zeitpunkt des Schreibens von 12.15.0 Laden Sie /node-v12.15.0-x64.msi)) herunter und führen Sie es aus. Installieren Sie mit den Standardeinstellungen, ohne die Optionen zu ändern.

>node --version
v12.15.0

Installieren Sie Serverless Framework

Installation mit dem Node.js-Paketverwaltungssystem npm.

>npm install -g serverless
(Abkürzung)
+ [email protected]
added 527 packages from 335 contributors in 21.542s

>sls --version
Framework Core: 1.63.0
Plugin: 3.3.0
SDK: 2.3.0
Components Core: 1.1.2
Components CLI: 1.4.0

Ein Projekt erstellen

Erstellen Sie ein Serverless Framework-Projekt. Die Vorlage ist für AWS Python3.

>sls create -t aws-python3 -p helloworld
(Abkürzung)
Serverless: Successfully generated boilerplate for template: "aws-python3"

-t ist die Spezifikation der zu verwendenden Vorlage. Da wir Python3 mit Lambda unter AWS verwenden, geben Sie "aws-python3" an. -p ist der Pfad des Projektverzeichnisses (wenn Sie -n nicht angeben, wird der Projektname so wie er ist)

Unter dem aktuellen Pfad wird ein Projektverzeichnis mit dem Namen helloworld erstellt. Handler.py und .gitignore, die die Serverless Framework-Konfigurationsdatei serverless.yml und die Implementierung der Lambda-Funktion enthalten, werden erstellt.

Erstellen einer virtuellen Python-Umgebung

Um die Python-Bibliothek für jedes Projekt zu verwalten, gehen Sie in das Projektverzeichnis und erstellen Sie eine virtuelle Umgebung für dieses Projekt.

>cd helloworld
>pipenv install
Creating a virtualenv for this project…
(Abkürzung)
Successfully created virtual environment!
(Abkürzung)
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

Ausführung der Beispielfunktion

Versuchen Sie, die Lambda-Funktion mit dem Namen Hallo auszuführen, die in der Vorlage von Anfang an lokal definiert ist.

>sls invoke local -f hello
{
    "statusCode": 200,
    "body": "{\"message\": \"Go Serverless v1.0! Your function executed successfully!\", \"input\": {}}"
}

Die in handler.py beschriebene Hallo-Funktion wurde ausgeführt und eine Antwort zurückgegeben. Da es mit invoke local ausgeführt wird, wird es lokal ausgeführt.

Dies vervollständigt die Umgebung für die lokale Entwicklung mit Lambda + Python.

Recommended Posts

Erstellen Sie mit dem Serverless Framework eine lokale Entwicklungsumgebung für Lambda + Python
Erstellen Sie eine lokale Entwicklungsumgebung für Laravel6.X auf Ihrem Mac
Erstellen Sie eine Python-Entwicklungsumgebung mit pyenv unter MacOS
Erstellen Sie eine lokale Entwicklungsumgebung mit WSL + Docker Desktop für Windows + Docker-Lambda + Python
Erstellen einer Python-Entwicklungsumgebung für die KI-Entwicklung
Versuchen Sie es mit virtualenv, mit dem eine virtuelle Umgebung von Python erstellt werden kann
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Erstellen Sie eine Python-Entwicklungsumgebung auf Ihrem Mac
Erstellen Sie eine Kubernetes-Umgebung für die Entwicklung unter Ubuntu
Erstellen Sie eine mruby-Entwicklungsumgebung für ESP32 (Linux Edition)
Erstellen Sie eine Python-Entwicklungsumgebung auf Raspberry Pi
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (3) GVim8.0 und Python3.6
Erstellen einer Django-Entwicklungsumgebung mit pyenv-virtualenv auf einem Mac
Erstellen Sie mit pyenv-virtualenv eine Python-Umgebung für jedes Verzeichnis
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (1)
Erstellen Sie eine Python-Entwicklungsumgebung unter Mac OS X.
Erstellen Sie eine virtuelle Python-Umgebung mit venv (Django + MySQL ①)
Erstellen Sie mit pyenv eine Python-Umgebung auf Ihrem Mac
[ev3dev × Python] Aufbau einer ev3dev-Entwicklungsumgebung
Erstellen Sie mit Python eine Entwicklungsumgebung für maschinelles Lernen
So erstellen Sie eine Entwicklungsumgebung für TensorFlow (1.0.0) (Mac)
[Zum Organisieren] Python-Entwicklungsumgebung
Erstellen Sie die Python-Umgebung offline
Konstruktionsnotiz für eine maschinelle Lernumgebung von Python
Erstellen Sie mit Docker eine einfache Fast API-Entwicklungsumgebung
Erstellen Sie eine Umgebung für maschinelles Lernen mit Python unter MacOSX
[Memo] Erstellen Sie mit Docker eine Entwicklungsumgebung für Django + Nuxt.js
Erstellen Sie eine Python-Entwicklungsumgebung mit Eclipse (fügen Sie einen HTML-Editor hinzu).
Erstellen einer Entwicklungsumgebung für Android-Apps - Erstellen von Android-Apps mit Python
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (2) Grundeinstellungen
Erstellen einer Entwicklungsumgebung für die Python2.7-Serie mit Vagrant
Erstellen Sie mit Docker kostengünstig eine Flask-Entwicklungsumgebung
Erstellen Sie unter CentOS 7.7 eine Python-Umgebung für Ihren Heimserver
Erstellen Sie mit Docker eine Go-Umgebung
Optionen für die Python-Entwicklungsumgebung für Mai 2020
Emacs-Einstellungen für die Python-Entwicklungsumgebung
Erstellen Sie eine Python3-Umgebung unter CentOS7
Erstellen und testen Sie eine CI-Umgebung für mehrere Versionen von Python
So erstellen Sie eine Python-Umgebung mit Virtualenv unter Ubuntu 18.04 LTS
Erstellen Sie eine Python-Ausführungsumgebung mithilfe der GPU mit der GCP Compute Engine
[DynamoDB] [Docker] Erstellen Sie mit Docker-Compose eine Entwicklungsumgebung für DynamoDB und Django
Erstellen Sie eine Umgebung für das in Blender integrierte Python
Erstellen Sie mit Laragon ganz einfach eine Entwicklungsumgebung
Erstellen Sie eine Python-Umgebung unter MacOS (Catallina)
Erstellen wir eine virtuelle Umgebung für Python
[Python] Erstellen Sie eine Stapelumgebung mit AWS-CDK
Ich möchte eine Python-Umgebung erstellen
[Mac] Erstellen einer virtuellen Umgebung für Python
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Erstellen Sie eine Python-Entwicklungsumgebung (pythonz, virtualenv, direnv).
Erstellen Sie eine Python + OpenCV-Umgebung in Cloud9
Erstellen Sie mit Neovim eine moderne Python-Umgebung
Erstellen einer Entwicklungsumgebung für maschinelles Lernen
Erstellen Sie eine Versionsverwaltungsumgebung für Python, Ruby, Perl, Node.js unter UNIX
[Mac] Erstellen Sie mit Docker eine Python 3.x-Umgebung mit der schnellsten Geschwindigkeit
Erstellen Sie schnell eine Python-Umgebung für Deep Learning / Data Science (Windows)
Ich habe versucht, eine Mac Python-Entwicklungsumgebung mit pythonz + direnv zu erstellen
Erstellen Sie eine Entwicklungsumgebung mit Jupyter und Flask mit Python in Docker (unterstützt sowohl VS Code als auch Code-Server).