外部のライブラリを利用してのAWS Lambdaの設定 - 株式会社CoLabMix

外部のライブラリを利用してのAWS Lambdaの設定

今回は外部のライブラリを使用しての AWS Lambda の設定を行います。

【関連記事】
AWS LambdaでS3にファイルがアップロードされたのを検知する
AWS LambdaでS3にファイルがアップロードされたら、加工して別フォルダにファイルを作成する(Python)
AWS Lambdaをpython-lambda-localとlambda-uploaderを使ってローカル開発してみる

今回実施する内容として、zipファイルをAWSマネージメントコンソールからアップしての方法となります。

前提として前回の「AmazonLinuxでpyenvを利用してPython3.6の仮想環境の構築(Vagrant)」で仮想環境の構築を行っておきます。

Lambda関数の作成

さて、前回の項目の最後の部分ですが、AmazonLinux に python3.6 の仮想環境を作り、pandas をインストールしました。

次に同じフォルダで Lambda の実行ファイルとなる「lambda_function.py」を作成します。

 

以下を作成します。

pandas を使っていますがこちらでは表示だけで。

外部ライブラリを使えているかの確認になります。

さて、続けて同一フォルダでzip圧縮ファイルを作成します。

 

こちらのファイルでアップするファイルの準備はできました。

 

Lambdaの関数をAWSマネージメントコンソールで作成

Lambdaの管理画面から「一から作成」を選択し、ランタイムは「python3.6」で新しい関数を作成します。

 

次に「コードエントリタイプ」で「.zipファイルをアップロード」を選択し、作成した「lambda.zip」をアップロードします。

 

次にトリガーの設定をします。

以前に実施したようにS3にファイルが上がったものをトリガーにします。

 

トリガーは以下のように設定しました。

 

今回はロールは特に意識せず以前のものを利用しています。

また、アップしたファイルが大きいので、インラインコードでの編集は実施できません。

Lambda 関数の圧縮したデプロイパッケージのサイズが 3MB を超える場合は、Lambda コンソールでインラインコードを編集する機能を使用することはできません。
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/limits.html

ファイル変更の際はzipファイルを都度アップロードする必要があります。

 

さて、上記で実行環境は整いましたのでS3にファイルをアップロードします。

今回、アップロードしたファイルは以下でした。

 

結果は CloudWatch でログストリームとして出力されます。

無事、結果が出力されています。

外部モジュールを読み込んだことで、メモリーの利用も大きくなっているようです。

外部モジュールを使えることでかなりのシステムが Lambda を利用して作れることがわかりました。

今回はこれまでで。

【関連記事】
AWS LambdaでS3にファイルがアップロードされたのを検知する
AWS LambdaでS3にファイルがアップロードされたら、加工して別フォルダにファイルを作成する(Python)
AWS Lambdaをpython-lambda-localとlambda-uploaderを使ってローカル開発してみる

 

このブログは株式会社CoLabMixによる技術ブログです。

GCP、AWSなどでのインフラ構築・運用や、クローリング・分析・検索などを主体とした開発を行なっています。

Ruby on RailsやDjango、Pythonなどの開発依頼などお気軽にお声がけください。

開発パートナーを増やしたいという企業と積極的に繋がっていきたいです。

お問い合わせやご依頼・ご相談など

    関連記事

    1. Rails5.2.0(Beta)のインストール

    2. scrapy-redisを使って、redisを使ったクローリングを試…

    3. terraform構築手順〜DynamoDB編〜

    4. CentOS7 に Hadoop と Mahout を入れて機械学習を…

    5. DockerでRails5.2の環境を構築する その1

    6. CentOS8 + Apache2.4 を 無料 の SSL 「Let…

    最近の記事

    制作実績一覧

    ITシステム開発の開発先・発注先の選び方を見つけるコンシェルジュサービス

    ITシステム開発の開発先・発注先の選び方を見つけるコンシェルジュサービス

    ITクリエイターのための転職・仕事情報サイト

    ITクリエイターのための転職・仕事情報サイト

    SNS分析での転職支援

    SNS分析での転職支援

    受託パートナーのマッチングとSES人材のマッチング

    受託パートナーのマッチングとSES人材のマッチング