AWS Lambda 関数のコードは、関数のハンドラーコードと、そのコードが依存するその他のパッケージやモジュールを含む .py ファイルで構成されています。この関数コードを Lambda にデプロイするには、デプロイパッケージを使用します。このパッケージは、.zip ファイルアーカイブでもコンテナイメージでもかまいません。

.zip ファイルのデプロイパッケージを .zip ファイルアーカイブとして作成するには、コマンドラインツール用の組み込み .zip ファイルアーカイブユーティリティ、または他の .zip ファイルユーティリティ ( 7zip など) を使用します。

Lambda は POSIX ファイルアクセス許可を使用するため、.zip ファイルアーカイブを作成する前に、デプロイパッケージフォルダのアクセス許可を設定することが必要になる場合があります。

Python ランタイムを使用する Lambda 関数の場合、依存関係には任意の Python パッケージまたはモジュールを使用できます。.zip アーカイブを使用して関数をデプロイする場合、これらの依存関係を関数コードとともに .zip ファイルに追加するか、Lambda レイヤーを使用できます。

Lambda レイヤーの使用の詳細については、「Lambda レイヤーでの作業」を参照してください。

Lambda Python ランタイムには、AWS SDK for Python (Boto3) とその依存関係が含まれます。独自の依存関係を追加できないデプロイシナリオでは、Lambda がランタイムに SDK を提供します。

依存関係を完全に制御し、バージョンの不整合の問題を回避するには、Lambda ランタイムにそれらのバージョンが含まれていても、関数のすべての依存関係をデプロイパッケージに追加することをお勧めします。これには Boto3 SDK が含まれます。

関数のデプロイパッケージ内の依存関係を更新するには、まず新しい .zip ファイルを作成し、そのファイルを Lambda にアップロードします。詳細については、「依存関係を含めて .zip デプロイパッケージを作成する」と「.zip ファイルを使用した Python Lambda 関数の作成と更新」を参照してください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です