Script de création de couche AWS pour python

ZIP en exécutant PIP dans le conteneur Docker de Lambda. Un script qui le publie en tant que couche AWS Lambda.

Ce n'est pas facile à faire, mais ça marche. .. .. S'il vous plaît lorsque vous ne voulez pas polluer l'environnement à portée de main.

# 
# Require: docker installed.
# Require: aws config for publishing lambda layer
# 
# 1. in container, pip install python liblary and zip,
# 2. publish to aws layer
#
# Usage: param1=layer-name, param2=lib-name, param3=lib-version, param4=python-version
#  ex ```./publish.sh requests-python37 requests 2.23.0 python3.7```

layername=$1 # requests-python37
lib=$2       # requests
ver=$3       # 2.23.0
env=$4       # python3.7

zip=$lib-$ver-$env.zip # requests-2.23.0-python3.8.zip
echo packing: $zip

# Prepare
mkdir -p build
rm -rf build/* # Clean up

# pip and zip in docker.
docker run --rm -it  \
    --volume `pwd`/build:/tmp/build  \
    --workdir /tmp/build \
    lambci/lambda:build-$env \
    bash -c "pip3 install $lib==$ver -t /tmp/build/python && zip -qr $zip python/ && rm -rf /tmp/build/python && chown -R `id -u`:`id -g` ./*"

echo packed : build/$zip

aws lambda publish-layer-version \
    --layer-name $layername \
    --zip-file fileb://`pwd`/build/$zip \
    --description $zip \
    --compatible-runtimes $env

Recommended Posts

Script de création de couche AWS pour python
Créer une couche pour AWS Lambda Python dans Docker
Script Python pour le décodage ldapsearch base64
Remarque sur boto3 (AWS SDK for Python)
[Pour Python] Créez rapidement un fichier de téléchargement vers AWS Lambda Layer
Script de pilote pour le calcul paramétrique des scripts Python
[Python] Un script utile pour le traitement Excel / csv
Création WebApi avec Python (création CRUD) Pour les débutants
30/10/2016 else pour Python3> pour:
Fichier python de script
squelette de script python
Profilage de script Python
Importer un script python
Exécuter périodiquement un script Python sur AWS Data Pipeline
Appeler Polly à partir du kit SDK AWS pour Python
Informations d'identification utilisées par Boto3 (AWS SDK for Python)
À propos de Python for loop
[BigQuery] Comment utiliser l'API de BigQuery pour Python -Création de table-
Script Python de collection d'images pour créer des ensembles de données pour l'apprentissage automatique
Bases de Python ② pour déclaration
Provisionnement de flotte avec AWS IoT SDK for Python v2
Manuel python pour les débutants
Création de chatbot Slack Python
Refactoring des outils utilisables avec Python
Mémo de script DynamoDB (Python)
Prise en charge de l'environnement d'exécution Python 2.7 sur AWS Lambda (à partir de 2020.1)
Toolchain pour Python pour Android
Script pour créer facilement un environnement de périphérique client pour AWS IoT (version Python v2)
Développement du kit SDK AWS pour Python (Boto3) dans Visual Studio 2017
Utilisez AWS SDK for Python (boto) dans un environnement Proxy
OpenCV pour les débutants en Python
Installez Python (pour Windows)
[Python] pour une erreur d'instruction
Maintenance de l'environnement Python pour les projets
Exécutez AWS IoT Device SDK for Python sur Raspberry Pi
[AWS] Essayez d'ajouter la bibliothèque Python à la couche avec SAM + Lambda (Python)
J'ai écrit un script de création automatique de répertoire vide en Python
Créer un script Python pour Wake on LAN (Wake on LAN over NAT [5])
[Python] Introduction à la création de graphiques à l'aide de données de virus corona [Pour les débutants]
Mémo Python (pour moi): Array
Prise en charge de Fabric pour Python 3
Liste Python, pour instruction, dictionnaire
Python pour l'analyse des données Chapitre 4
[Python] Scraping dans AWS Lambda
Flux d'apprentissage pour les débutants en Python
Procédure d'installation de Python 3.6 [pour Windows]
POST json avec le script Python 3
AWS CDK-Lambda + API Gateway (Python)
Intégration BigQuery pour les utilisateurs Python
Plan d'apprentissage Python pour l'apprentissage de l'IA
Configurer pour Mac (Python)
Exécutez le script illustrator à partir de python
Mémo Python Tkinter (pour moi)
Installation d'OpenCV3 pour Python3 @macOS
Mémo de code personnel Python
Construction de l'environnement Python pour Mac