Créer un environnement de développement local pour Lambda + Python à l'aide de Serverless Framework

Un mémo lors de la création d'un environnement de développement local pour Lambda + Python à l'aide de Serverless Framework sous Windows. Créez un environnement qui vous permet d'effectuer des tests unitaires localement sans déployer réellement sur AWS.

Installation de Python

La dernière version du Site de téléchargement Windows d'origine (au moment de la rédaction 3.8.1 Téléchargez /3.8.1/python-3.8.1-amd64.exe)) et exécutez-le.

Sur le premier écran, cochez "Ajouter Python 3.8 à PATH" et cliquez sur "Installer maintenant" pour effectuer une installation standard. Cliquez sur "Désactiver la limite de longueur de chemin" sur le dernier écran pour supprimer la limite de longueur de chaîne de chemin.

>python --version
Python 3.8.1

OK si la version s'affiche correctement.

Installation de pipenv

Installez à l'aide du système de gestion de paquets Python pip.

>pip install pipenv
(Abréviation)
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

Installez Node.js

Étant donné que Serverless Framework est créé avec Node.js, installez Node.js.

Depuis Site de téléchargement d'origine, la dernière version du programme d'installation pour Windows (au moment de la rédaction de cet article 12.15.0 Téléchargez /node-v12.15.0-x64.msi)) et exécutez-le. Installez avec les paramètres par défaut sans modifier aucune option.

>node --version
v12.15.0

Installer une infrastructure sans serveur

Installez à l'aide du système de gestion de paquets Node.js npm.

>npm install -g serverless
(Abréviation)
+ [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

Créer un projet

Créez un projet Serverless Framework. Le modèle est pour AWS Python3.

>sls create -t aws-python3 -p helloworld
(Abréviation)
Serverless: Successfully generated boilerplate for template: "aws-python3"

«-t» est la spécification du modèle à utiliser. Comme il est développé à l'aide de Python3 avec Lambda sur AWS, spécifiez ʻaws-python3. -p` est le chemin du répertoire du projet (si vous ne spécifiez pas -n, ce sera le nom du projet tel quel)

Un répertoire de projet appelé helloworld est créé sous le chemin actuel, et handler.py et .gitignore, qui contiennent le fichier de configuration Serverless Framework serverless.yml et l'implémentation de la fonction Lambda, sont créés.

Créer un environnement virtuel Python

Pour gérer la bibliothèque Python pour chaque projet, allez dans le répertoire du projet et créez un environnement virtuel pour ce projet.

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

Exécution de la fonction échantillon

Essayez d'exécuter la fonction Lambda nommée hello qui est définie dans le modèle depuis le début localement.

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

La fonction hello décrite dans handler.py a été exécutée et une réponse a été renvoyée. Puisqu'il est exécuté avec ʻinvoke local`, il sera exécuté localement.

Cela complète l'environnement de développement local avec Lambda + Python.

Recommended Posts

Créer un environnement de développement local pour Lambda + Python à l'aide de Serverless Framework
Créez un environnement de développement local pour Laravel6.X sur votre Mac
Créer un environnement de développement Python à l'aide de pyenv sur MacOS
Créez un environnement de développement local avec WSL + Docker Desktop pour Windows + docker-lambda + Python
Créer un environnement de développement Python pour le développement de l'IA
Essayez d'utiliser virtualenv qui peut créer un environnement virtuel de Python
[Python] Créer un environnement de développement Django avec Docker
Créez un environnement de développement Python sur votre Mac
Créer un environnement Kubernetes pour le développement sur Ubuntu
Créer un environnement de développement mruby pour ESP32 (édition Linux)
Construire un environnement de développement Python sur Raspberry Pi
Créer un environnement de développement Python basé sur GVim sur Windows 10 (3) GVim8.0 et Python3.6
Créer un environnement de développement Django à l'aide de pyenv-virtualenv sur Mac
Créez un environnement python pour chaque répertoire avec pyenv-virtualenv
Créer un environnement de développement Python basé sur GVim sur l'installation de Windows 10 (1)
Créer un environnement de développement Python sur Mac OS X
Construire un environnement virtuel Python en utilisant venv (Django + MySQL ①)
Créez un environnement Python sur votre Mac en utilisant pyenv
[ev3dev × Python] Construction de l'environnement de développement ev3dev
Créer un environnement de développement d'applications d'apprentissage automatique avec Python
Comment créer un environnement de développement pour TensorFlow (1.0.0) (Mac)
[Pour organiser] Environnement de développement Python
Créer un environnement Python hors ligne
Mémo de construction d'environnement d'apprentissage automatique par Python
Créer un environnement de développement d'API rapide léger à l'aide de Docker
Créer un environnement d'apprentissage automatique à l'aide de Python sur MacOSX
[Memo] Construire un environnement de développement pour Django + Nuxt.js avec Docker
Créer un environnement de développement Python avec Eclipse (ajouter un éditeur HTML)
Création d'un environnement de développement pour les applications Android - Création d'applications Android avec Python
Créer un environnement de développement Python basé sur GVim sur les paramètres de base de Windows 10 (2)
Comment créer un environnement de développement de la série Python2.7 avec Vagrant
Créez un environnement de développement Flask à faible coût avec Docker
Créez un environnement python sur CentOS 7.7 pour votre serveur domestique
Créer un environnement go à l'aide de Docker
Options d'environnement de développement Python pour mai 2020
Paramètres Emacs pour l'environnement de développement Python
Créer un environnement python3 sur CentOS7
Créer et tester un environnement CI pour plusieurs versions de Python
Comment créer un environnement Python à l'aide de Virtualenv sur Ubuntu 18.04 LTS
Créez un environnement d'exécution Python à l'aide de GPU avec GCP Compute Engine
[DynamoDB] [Docker] Créer un environnement de développement pour DynamoDB et Django avec docker-compose
Créer un environnement pour Python intégré à Blender
Créez facilement un environnement de développement avec Laragon
Construire un environnement python sur MacOS (Catallina)
Créons un environnement virtuel pour Python
[Python] Créer un environnement Batch à l'aide d'AWS-CDK
Je veux créer un environnement Python
[Mac] Création d'un environnement virtuel pour Python
Créez un environnement virtuel pour python avec pyenv
Construire un environnement de développement Python (pythonz, virtualenv, direnv)
Créer un environnement Python + OpenCV sur Cloud9
Créez un environnement Python moderne avec Neovim
Créer un environnement de développement pour l'apprentissage automatique
Créer un environnement de gestion de version pour Python, Ruby, Perl, Node.js sous UNIX
[Mac] Créez un environnement Python 3.x à la vitesse la plus rapide à l'aide de Docker
Créez rapidement un environnement python pour le Deep Learning / Data Science (Windows)
J'ai essayé de créer un environnement de développement Mac Python avec pythonz + direnv
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)