AWS Cloud9 を使用して外部ライブラリとともに Lambda 関数をデプロイするにはどうすればよいですか?
最終更新日: 2021 年 9 月 10 日
AWS Cloud9 を使用して開発した AWS Lambda 関数に外部ライブラリを追加したいと考えています。どうすればよいですか?
解決方法
注: 次の手順では、例として Python ランタイムを使用します。Node.js Lambda 関数にも同様の手順を使用できます。
AWS Cloud9 環境で Lambda 関数を作成したら、以下を実行します。
AWS Cloud9 環境で Lambda 関数の親フォルダに外部ライブラリのモジュールをインポートする
1. AWS Cloud9 コンソールを開きます。
3. 左側のナビゲーションペインで、[Environment] (環境) を選択します。[Environment] (環境) ウィンドウが開きます。
4. 関数の親フォルダのコンテキスト (右クリック) メニューを開きます。
注: 関数の親フォルダは、関数と同じ名前でリストされます。
5. [Open Terminal Here] (ここでターミナルを開く) を選択します。新しいターミナルセッションが開始されます。
6. 新しいターミナルで次の pip コマンドを実行して、外部ライブラリモジュールをインポートします。
重要: ModuleName は、インポートするモジュールの名前に置き換えます。
python -m pip install --target=./ ModuleName
注: 正しいバージョンの Python パッケージがインストールされていることを確認するには、pip コマンドで requirements.txt ファイルを指定するのがベストプラクティスです。詳細については、pip ドキュメントの要件ファイル形式のセクションを参照してください。
7. インポートするモジュールごとにステップ 6 を繰り返します。インポートされたモジュールは、関数の親フォルダに表示されます。
AWS ツールキットを使用して Lambda 関数をデプロイする
AWS Cloud9 ユーザーガイドの Deploying a serverless application の手順に従います。関数をデプロイした後、インポートした追加のモジュールを使用してコードを実行できます。
詳細については、Working with AWS serverless applications using the AWS Toolkit を参照してください。