Lambda関数(C#)でNugetパッケージを追加した場合のAWSへのアップロード方法


AWS Toolkit for Visual Studio で C# の Lambda 関数を作成したのですが、Visual Studio からアップロードするとエラーとなってしまいました。

原因は、Nuget で新しいパッケージをインストールしたことですが、アップロード時になぜか参照が外れてしまいコンパイルエラーとなってしまいます。

これを解決するには、プロジェクトをビルドし zip ファイルにまとめてアップロードします。

この作業には、以下のツールのインストールが必要なため、インストールしていない場合は先にインストールしておきます。

github.com

準備が済んだら、コマンドプロンプトでプロジェクトのフォルダに移動して、以下のコマンドを実行します。

> dotnet lambda package --configuration Release --framework netcoreapp2.1

すると、zip ファイルが作成されるので、AWS の Lambda 関数の設定画面から、zip ファイルをアップロードします。

直接アップロードするには 10 MB までの制約がありますが、10 MB を超えた場合は S3 にいったんアップロードしてから、Lambda 関数に取り込むことができます。

なお、以下のサイトを参考にさせていただきました。

dev.classmethod.jp