LoginSignup
2
4

More than 3 years have passed since last update.

手順メモ:AWS Lambdaでzipファイルをアップロードするまでに必要なこと

Last updated at Posted at 2019-12-02

やりたいこと

  • lambdaでapiを叩きたい。
  • python3でやるためには必要なライブラリをlambdaにzipでアップロードする

前提

  • lambdaのランタイムはpython 3.7
  • awsのlambdaの画面で関数の基本情報(関数名、ランタイム、アクセス権限)を作成しておく

 やり方

  • アップロードするzipファイルを作成する
    python3なので、仮想環境を作成する
実行コマンド

$ python3 -m venv dev
$ . dev/bin/activate
$ mkdir upload
$ cd upload/
$ pip install --upgrade pip
$ pip install requests -t ./
$ ls -la
total 8
drwxr-xr-x  14 ~ 省略 ~  .
drwxr-xr-x   6 ~ 省略 ~  ..
drwxr-xr-x   3 ~ 省略 ~  bin
drwxr-xr-x   7 ~ 省略 ~  certifi
drwxr-xr-x  10 ~ 省略 ~  certifi-2019.6.16.dist-info
drwxr-xr-x  43 ~ 省略 ~  chardet
drwxr-xr-x  10 ~ 省略 ~  chardet-3.0.4.dist-info
drwxr-xr-x  11 ~ 省略 ~  idna
drwxr-xr-x   8 ~ 省略 ~  idna-2.8.dist-info
drwxr-xr-x  21 ~ 省略 ~  requests
drwxr-xr-x   8 ~ 省略 ~  requests-2.22.0.dist-info
drwxr-xr-x  16 ~ 省略 ~  urllib3
drwxr-xr-x   8 ~ 省略 ~  urllib3-1.25.3.dist-info

*.dist-infoファイルは不要(というか、あると適切に読み込んでくれない)なので、全て削除する

$ rm -rf *.dist-info

lambda_function.pyを追加する
$ vim lambda_function.py

lambda上でapiを叩く処理を書き、ファイルを保存する。

zipにまとめる。zipファイル名は作成するlambda_function名と同じにする。
しないと、zipファイルを読み込みときに階層がずれてしまう。

$ zip -r hoge.zip ./*
  • awsコンソール画面からzipファイルをアップロードする
  • 問題なく読み込まれていたら、テストで確認する

注意点

2
4
1

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
2
4