背景
構築の一環でLambdaへZip化したファイルをアップロードする必要があった。
前提
Python 3.13
手順
①AWSへログイン
②「CloudShell」で検索する
③以下を実行する
※一文ずつ流してください!
# 必要パッケージのインストール
sudo yum install -y gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel wget make
# pyenv インストール
curl https://pyenv.run | bash
# pyenv 環境変数設定
echo -e '\n# pyenv' >> ~/.bashrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
# Python 3.13 インストール(時間がかかります)
pyenv install 3.13.0
pyenv global 3.13.0
# 3.13になればOK
python3 --version
④作業ディレクトリを配置する
mkdir ~/lambda_build
cd ~/lambda_build
⑤lambda_function.pyをアップロードする
右上の「アクション」から「アップロードする」を押下。
lambda_function.pyを追加。
⑥パッケージをインストール
mkdir -p package
pip install --upgrade pip
#インポートしたいモジュールを追加
pip install --target ./package aaaa bbbb
⑦Zip化する
cp lambda_function.py ./package/
cd package
zip -r9 ../lambda-deploy.zip .
cd ..
⑧Zipファイルをダウンロード
現在のフォルダの位置を確認します。
pwd
右上の「アクション」から「ダウンロード」を押下。
下記ができているはずのため、パスを連携してダウンロードします。
/home/cloudshell-user/lambda_build/lambda-deploy.zip