1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Dockerを使ってAWS Lambdaのデプロイパッケージをビルドする(Python 3.7)

Posted at

はじめに

https://aws.amazon.com/jp/lambda/
最近AWS Lambdaを使用する機会が増え、Python3.7のデプロイパッケージのビルド処理を汎用化したので共有します。

AWS Lambdaではライブラリなどを一つのzipファイルにまとめたものをパッケージとしてアップロードする必要があります。
Windowsで開発する場合、OSの違いからライブラリをそのままzipするだけだと動かない場合もあります。
そこで、Dockerを使ってLambdaの環境を再現したうえでパッケージを作成するという処理を実装してみました。

ソース

https://github.com/yusukey0720/lambda_packager_python
↑にいい感じにまとめてみたので参考にしてください。

使い方

※Dockerがインストールされていること。

requirements.txt

  • ここに必要なライブラリを記載。
./src/requirements.txt}
numpy
pandas

lambda_function.py

  • ここに処理を記載する。
./src/lambda_function.py}
def lambda_handler(event, context):
    # some functions

ビルドする

  • 下記のコマンドからビルド処理を実行する。
    • Dockerが立ち上がる
    • requirementsをインストール
    • ソースをzipする
    • distに出力される
sh build.sh

デプロイ

  • distに出力されたファイルをs3にアップロード
  • AWSコンソール画面からs3のパスを入力して保存

さいごに

やはりDockerは便利ですね。
s3のアップロードやzipの反映まで自動化できるとより便利になるなと感じました。
不明点等あればコメントください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?