0. 目次
- 概要
- 環境情報
- 作成方法
1. 概要
Lambdaのpythonを使用してSalesforceへの処理を実装したいので、pythonのSalesforceモジュールである『simple_salesforce』をimportするためにLayerを作成します。2. 環境情報
pythonは、バージョン3.8を使用します。Lambdaのpythonバージョン3.8はAmazon Linux2上で動作しているので、Amazon Linux2のEC2インスタンス上でLayerを作成します。
詳細に関しては、Lambda ランタイムを参照してください。
3. 作成方法
1. EC2インスタンス作成
Amazon Linux 2(イメージ:カスタム、Linuxカーネル:4.14)のEC2インスタンスを起動します。スペックは最低限で良いです。セキュリティグループなどの各種設定の説明は省きます。
2. pythonのバージョン設定
pyenvを使用してpythonのバージョン3.8をインストールして、pythonのバージョンを3.8に切り替えます。
pyenvインストールと環境変数設定
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
pythonのバージョン設定と確認
$ pyenv install 3.8.0
$ pyenv global 3.8.0
$ python --version
Python 3.8.0
3. simple_salesforceモジュールのダウンロード
pipを使用してsimple_salesforceモジュールをダウンロードします。
pipのインストール
$ sudo yum -y install python-pip
simple_salesforceモジュールのダウンロード
$ pip install -t python simple_salesforce
$ zip -r9 layer.zip python
4. Layerのアップロード
layer.zip をLambdaのLayerに登録すればOKです。