Exécutez régulièrement des programmes Python sur AWS Lambda

introduction

J'ai mis en place un programme d'exécution de planification à l'aide d'AWS lambda. Je vais le laisser car il était inopinément obstrué par les bases de lambda. Il est supposé que vous avez créé un compte AWS.

MAC OS X python 3.6

Cible

・ Ceux qui n'ont jamais touché lambda ・ Ceux qui veulent déplacer quelque chose pour le moment

Qu'est-ce que lambda

C'est un service sans serveur qui peut exécuter des scripts. Même si elle est sans serveur, c'est une image qui démarre le serveur uniquement lorsque le script est exécuté.

Étant donné que l'appel est effectué à partir d'un serveur gratuit dans AWS, le serveur à exécuter est différent à chaque fois. (L'IP peut être fixée en installant lambda dans le sous-réseau auquel l'adresse IP fixe est attribuée et en l'exécutant)

Avec un niveau gratuit de 1 million de demandes gratuites par mois et 400 000 Go de temps de calcul par seconde, vous pouvez généralement utiliser un niveau gratuit. C'est un service très pratique car il peut également être utilisé comme API backend pour le Web et l'IOT.

Création de script simple

Si vous souhaitez créer un script Lambda en python, vous devez le créer avec le nom ** lambda_function.py **. Puisque la fonction ** lambda_handler ** qu'elle contient est appelée, préparez également la fonction lambda_handler.

lambda_function.py


# -*- coding:utf-8 -*-

#lambda Une fonction appelée lors de l'exécution. L'argument est événement,le contexte semble être la valeur par défaut.
#Il semble qu'il n'y ait pas besoin d'un argument, mais je vais l'écrire.
def lambda_handler(event, context):
    print('Essai')

Compressez ce script au format zip.

bash


$ zip function.zip lambda_function.py

Dans le cas de MAC, si vous le compressez sur Explorer, le fichier .DS_Store sera inclus et lambda_function.py ne pourra pas être lu, donc compressez-le avec une commande.

Créer une fonction Lambda

Sélectionnez «Lambda» -> «Créer une fonction» sur l'écran de la console AWS. Entrez le nom de la fonction et définissez cette fois le runtime sur Python 3.6.

スクリーンショット 2020-11-15 23.18.48.png

Une fois que vous l'avez entré, cliquez sur le bouton Créer une fonction. Maintenant que vous avez une fonction, téléchargez le script. Cliquez sur le bouton "Action" en bas à droite et cliquez sur "Télécharger un fichier .zip" pour télécharger le fichier zip.

スクリーンショット 2020-11-15 23.22.16.png

スクリーンショット 2020-11-16 0.26.26.png

Lancer le test

Cliquez sur Test en haut à droite et entrez le nom de l'événement. Le tableau ci-dessous est l'argument d'événement à passer à la fonction, mais comme il n'est pas utilisé cette fois, créez-le tel quel sans le changer.

スクリーンショット 2020-11-16 0.30.29.png

Le test créé étant sélectionné, cliquez sur le bouton de test.

スクリーンショット 2020-11-16 0.33.35.png

Il réussit car le résultat de l'exécution apparaît sous le code de fonction.

スクリーンショット 2020-11-16 0.34.34.png

Création d'événements périodiques

Cliquez sur le bouton "Ajouter un déclencheur" dans le concepteur.

Déclencheur: EventBridge (événements CloudWatch) Règle: nouvelle règle Type de règle: expression de planification Expression planifiée: cron (30 1 * *? *)

スクリーンショット 2020-11-16 0.46.30.png

Cliquez sur le bouton "Ajouter" et les paramètres sont terminés.

Recommended Posts

Exécutez régulièrement des programmes Python sur AWS Lambda
Exécutez Python selon la planification sur AWS Lambda
[Python] Exécutez Headless Chrome sur AWS Lambda
Exécutez régulièrement Python sur Heroku Scheduler
Exécutez TensorFlow sur une instance GPU sur AWS
Exécutez le code Python sur A2019 Community Edition
expression lambda de python ...
Exécutez mysqlclient sur Lambda
Exécuter périodiquement un script Python sur AWS Data Pipeline
Le module ne peut pas être importé en Python sur EC2 exécuté à partir d'AWS Lambda
Écrivons un programme Python et exécutons-le
# 2 Créez un environnement Python avec une instance EC2 d'AWS (ubuntu18.04)
Vérifiez types_map lors de l'utilisation de mimetypes avec AWS Lambda (Python)
Déployer la fonction Python 3 avec Serverless Framework sur AWS Lambda
Prise en charge de l'environnement d'exécution Python 2.7 sur AWS Lambda (à partir de 2020.1)
Créer une couche pour AWS Lambda Python dans Docker
Je veux AWS Lambda avec Python sur Mac!
Procédure de création d'un Line Bot sur AWS Lambda
[Python] Scraping dans AWS Lambda
Exécutez Tensorflow 2.x sur Python 3.7
Exécutez le CGI de Python sur CORESERVER
Exécutez la commande unix sur python
Exécutez YOLO v3 sur AWS v2
Exécutez YOLO v3 sur AWS
Essayez d'exécuter Schedule pour démarrer et arrêter des instances dans AWS Lambda (Python)
Une petite histoire à savoir comme un point addictif lors de l'écriture d'applications Twilio à l'aide de Python sur AWS Lambda
Publié en tant que pièce jointe à Slack sur AWS Lambda (Python)
Exécutez AWS IoT Device SDK for Python sur Raspberry Pi
Comment exécuter un programme Python à partir d'un script shell
[GCP] Un mémorandum lors de l'exécution d'un programme Python avec Cloud Functions
Publiez régulièrement des images de Papillon sur Python + AWS Lambda + Slack
[Python] Permet d'importer les packages pip3 sur AWS Lambda
Construire un environnement Python sur Mac
Récapitulatif si vous utilisez AWS Lambda (Python)
Construire un environnement Python sur Ubuntu
Créer un environnement Python sur Mac (2017/4)
Ecrire une fonction AWS Lambda en Python
Exécutez un serveur Linux avec GCP
Exécutez l'image Docker de TensorFlow sur Python3
Exécutez Matplotlib sur un conteneur Docker
[Python] Faire de la fonction une fonction lambda
Créer un environnement python dans centos
Exécutez headless-chrome sur une image basée sur Debian
Exécutez TensorFlow2 sur le serveur VPS
Notifier HipChat avec AWS Lambda (Python)
Exécutez un algorithme simple en Python
Créer un environnement python3 sur CentOS7
Lors de l'écriture d'un programme en Python
Créer une application Web de type Flask / Bottle sur AWS Lambda avec Chalice
xgboost (python) sur l'environnement d'instance EC2 Spot préparé par AWS Lambda
Exécutez une application Java qui réside sur AWS EC2 en tant que démon
# 3 Créez un environnement Python (Django) avec une instance EC2 (ubuntu18.04) d'AWS part2
Précautions lors de l'exécution de Python sur EC2 à partir d'AWS Lambda (Exécuter la commande)
Bonnes pratiques pour la journalisation au format JSON sur AWS Lambda / Python
Grattage sans serveur régulier avec AWS lambda + scrapy, partie 1
[Python] J'ai écrit une API REST en utilisant AWS API Gateway et Lambda.
Création d'un environnement pour exécuter ChainerMN sur une instance de GPU AWS
[AWS] Utilisation de fichiers ini avec Lambda [Python]
[Python] Un programme qui crée des escaliers avec #