[PYTHON] [AWS] Que faire lorsque vous souhaitez piper avec Lambda

introduction

Lors de l'écriture de fonctions Lambda en Python, vous souhaiterez peut-être utiliser une bibliothèque tierce dans la fonction Lambda. Cependant, Lambda ne vous permet pas d'installer des bibliothèques à l'aide de pip. Cette fois, je présenterai une méthode utile dans une telle situation.

Plus précisément, utilisez la fonction de téléchargement de fichiers fournie par Lambda. Cela signifie que vous pouvez utiliser la bibliothèque à partir de la fonction Lambda en téléchargeant une bibliothèque tierce lorsque vous téléchargez le fichier.

Cette fois, j'essaierai d'utiliser des requêtes, qui est la bibliothèque HTTP de Python.

Article associé

Veuillez consulter l'article suivant pour la méthode de base de création de fonctions Lambda.

procédure

  1. Créez un répertoire de travail localement
  2. Installez la bibliothèque
  3. Écrivez la fonction Lambda dans le répertoire de travail
  4. Zip
  5. Téléchargez le fichier compressé
  6. Réglage de la fonction à utiliser

Créer un répertoire de travail

Commencez par créer un répertoire de travail. Appelons cela un espace de travail. Après avoir créé le répertoire, accédez-y.

$ mkdir workspace
$ cd workspace

Installation de la bibliothèque

Une fois à l'intérieur de l'espace de travail, utilisez pip pour installer la bibliothèque. Procédez comme suit:

$ pip install requests -t .

Vous pouvez spécifier l'emplacement d'installation de la bibliothèque en ajoutant l'option t. Cette fois, il est installé dans le répertoire courant (espace de travail).

Créer une fonction Lambda

Après avoir installé la bibliothèque, l'étape suivante consiste à écrire la fonction Lambda. Le nom de fichier doit être ** lambda_function.py ** et le nom de la fonction doit être ** lambda_handler **. Souvenez-vous des noms de fichier et de fonction pour une utilisation ultérieure.

lambda_function.py


import requests

def lambda_handler(event, context):
    res = requests.get("http://www.yahoo.co.jp/")
    return res.status_code

Le code ressemble à celui ci-dessus. Le contenu est aussi simple que OBTENIR la première page de Yahoo et renvoyer le code d'état. Si la page peut être acquise normalement, 200 sera renvoyé comme code d'état.

>>> from lambda_function import lambda_handler
>>> lambda_handler(None, None)
200
>>> 

Compresser avec Zip

Utilisez la commande zip pour compresser tous les fichiers de l'espace de travail. Le nom du fichier à compresser doit être ** upload.zip **.

$ zip -r upload.zip *

Téléchargement de fichiers

Après la compression avec la commande zip, téléchargez le fichier compressé sur Lambda. Il y a un "Type d'entrée de code" dans l'élément "Code de fonction Lambda" dans l'écran de réglage des fonctions. La valeur par défaut est "Modifier le code en ligne", mais sélectionnez "Télécharger un fichier .ZIP" ici. Lorsque vous le sélectionnez, le bouton "Télécharger" apparaîtra, alors téléchargez le fichier que vous avez créé précédemment (upload.zip). スクリーンショット 2015-11-20 10.44.39.png

Réglage de la fonction à utiliser

Après avoir téléchargé le fichier, définissez la fonction à utiliser dans ** Handler **. Les fonctions peuvent être spécifiées au format "nom de fichier.fonction nom". Le nom de fichier de la fonction Lambda créée précédemment était ** lambda_function **, et le nom de la fonction était ** lambda_handler **, spécifiez donc "lambda_function.lambda_handler". スクリーンショット 2015-11-20 10.51.24.png

Ceci termine les réglages. Sélectionnez le bouton "Suivant" et le bouton "Créer une fonction" pour créer la fonction.

tester

Essayez de tester à partir de l'écran de test. Si le code d'état est renvoyé, il réussit. Je vous remercie pour votre travail acharné. スクリーンショット 2015-11-20 10.57.20.png

référence

Recommended Posts

[AWS] Que faire lorsque vous souhaitez piper avec Lambda
Liens pour faire ce que vous voulez avec Sublime Text
Résumons ce que vous voulez faire.
Que faire si vous ne pouvez pas installer pyaudio avec pip #Python
Que faire si vous obtenez une erreur de décodage Unicode avec l'installation de pip
Que faire si vous obtenez une erreur non définie lorsque vous essayez d'utiliser pip avec pyenv
Lorsque vous souhaitez l'utiliser tel quel lorsque vous l'utilisez avec lambda memo
Que faire si vous ne pouvez pas installer avec pip dans l'environnement babun
Que faire si vous obtenez Impossible de récupérer l'URL 443 avec pip
Téléchargez ce que vous avez dans la demande vers S3 avec AWS Lambda Python
Que faire si vous ne pouvez pas installer mysqlclient
Paramètres lorsque vous souhaitez exécuter python-mecab avec travis
Lorsque vous souhaitez filtrer avec le framework Django REST
Je veux AWS Lambda avec Python sur Mac!
Choses à faire lorsque vous commencez à développer avec Django
Que faire si vous obtenez une erreur lors de l'installation de python avec pyenv
Que faire lorsque vous souhaitez recevoir des fichiers à distance depuis un client Windows
Que faire lorsque vous vous fâchez que libxml / xmlversion.h n'existe pas lorsque vous mettez lxml avec pip
Que faire si vous obtenez une erreur OpenSSL lors de l'installation de Python 2 avec pyenv
Que faire avec l'installation de Magics
Utilisez aggdraw lorsque vous voulez dessiner magnifiquement avec un oreiller
Déplacez ce que vous avez installé avec pip dans l'environnement conda
Que faire si vous ne pouvez pas trier les fichiers avec des indices
Que faire avec la sortie de PYTHON?
Que faire lorsqu'une erreur se produit avec import _ssl
Lorsque vous souhaitez enregistrer les données initiales de Django avec des relations
[AWS EC2] Paramètres que vous souhaitez effectuer sur Amazon Linux 2
Que faire si vous obtenez une erreur d'importation lors de l'importation de matplotlib avec Jupyter
Je veux faire ○○ avec les Pandas
ImportError: Pas de module Que faire quand on vous dit
Que faire si vous ne souhaitez pas utiliser de noms de colonnes japonais lors de l'utilisation d'ortoolpy.logistics_network
Python | Ce que vous pouvez faire avec Python
Notez ce que vous voulez faire à l'avenir avec Razpai
[AWS] Que faire lorsque la commande ping provoque un "délai d'expiration"
Quand il est difficile de copier ce que vous avez construit avec vue
[Beanstalk] Que faire lorsqu'une erreur se produit avec import uuid
Lorsque vous souhaitez envoyer un objet avec des requêtes à l'aide de flask
[TensorFlow] Si vous souhaitez exécuter TensorBoard, installez-le avec pip.
Que faire si vous ne pouvez pas construire un projet avec Maven
Que faire lorsque vous obtenez "Je ne peux pas voir le site !!!!"
Lorsque vous souhaitez ajuster l'intervalle de l'échelle de l'axe avec APLpy
Ce que vous pouvez faire avec l'API vol.1
Je veux installer Python avec PythonAnywhere
Je veux jouer avec aws avec python
Connectez-vous à s3 avec AWS Lambda Python
Ce que vous pouvez faire avec des compétences en programmation
[AWS] Faites des choses de type SSI avec S3 / Lambda
ImportError lors de la tentative d'utilisation du package gcloud avec la version AWS Lambda Python
[Mémorandum] Que faire lorsqu'un avertissement apparaît après l'exécution de pip list
Que faire si l'option -f de grep ne fonctionne pas
Je veux le faire avec Python lambda Django, mais je vais m'arrêter
Que faire si vous ne parvenez pas à envoyer un e-mail à Yahoo avec Python.
Un référentiel essentiel à utiliser lorsque vous souhaitez l'essayer avec ansible
Lorsque vous souhaitez remplacer une colonne par une valeur manquante (NaN) colonne par colonne
Que faire si vous vous perdez dans la référence de fichier avec FileNotFoundError
Que faire si une erreur se produit lors de l'importation de numpy avec VScode
Que faire lorsque TypeError se produit au minimum et au maximum de numpy
Que faire si vous obtenez une erreur lors du chargement de mnist