.zip ファイルアーカイブを使用して C# Lambda 関数をデプロイする - AWS Lambda

.zip ファイルアーカイブを使用して C# Lambda 関数をデプロイする

.NET Core デプロイパッケージ (.zip ファイルアーカイブ) は、関数のコンパイル済みアセンブリと、そのアセンブリのすべての依存関係で構成されています。このパッケージには、proj.deps.json ファイルも含まれています。これは、関数のすべての依存関係と、.NET Core ランタイムを設定するために使用される proj.runtimeconfig.json ファイルを、.NET Core ランタイムに伝達します。.NET コマンドラインインターフェイス (CLI) の publish コマンドを使用すると、これらのファイルすべてが保存されたフォルダを作成できます。Lambda プロジェクトは通常、クラスライブラリとして設定されるため、デフォルトでは proj.runtimeconfig.json は含まれません。proj.runtimeconfig.jsonpublish プロセスの一部として強制的に書き込むには、コマンドライン引数 /p:GenerateRuntimeConfigurationFiles=truepublish コマンドに渡します。

dotnet publish コマンドを使用すればデプロイパッケージを作成することができますが、.NET Core CLI または AWS Toolkit for Visual Studio のどちらかでデプロイパッケージを作成する方法を推奨します。これらは、Lambda 専用に最適化されたツールです。このツールにより、lambda-project.runtimeconfig.json ファイルの存在が確認され、非 Linux ベースの依存関係の削除を含むパッケージバンドルの最適化が、確実に実行されます。