投稿日: Jul 9, 2018

.NET Core の長期サポートバージョン (LTS) となる .NET Core 2.1 ランタイムを使用して、C# で AWS Lambda 関数コードを開発できるようになりました。よりパフォーマンスが高い HTTP クライアントの実装や、任意のメモリの連続領域を表すためのタイプなど、新しいランタイム機能を使用することができます。詳細については、Lambda ドキュメントをお読みください。

すぐに使い始めるには、個別の C# Lambda 関数用プロジェクトテンプレート、完全な C# サーバーレスアプリケーション、AWS へ両方のプロジェクトタイプを発行するためのツールなどを含む AWS Toolkit for Visual Studio を利用するのが近道です。

手作業で C# Lambda 関数を作成するには、dotnetcore2.1 として Lambda ランタイムパラメーターを指定し、すべての NuGet の依存関係を ZIP ファイルにしてアップロードします。また、独自の発行済み DLL アセンブリを AWS CLI または AWS Lambda コンソールを介してアップロードします。C# で作成されたサーバーレスアプリケーションのデプロイと管理に AWS Serverless Application Model (SAM) を使用することもできます。.NET Core 2.0 AWS Lambda 関数を .NET Core 2.1 へ移行する方法の例については、このブログの投稿をお読みください

2.1 の Lambda プログラミングモデルは、2.0 と完全に互換性があります。2.0 で実行中の既存の C# 関数がある場合は、.NET プロジェクトのターゲットフレームワークモニカを netcoreapp2.1 へと更新し、新しい dotnetcore2.1 ランタイムをもつ関数を再デプロイすることで新しいランタイムへと切り替えるだけです。

.NET Core 2.1 ランタイムは Lambda が使用できるすべてのリージョンで使用可能です。AWS Lambda を使用できるリージョンの詳細情報は、AWS リージョンテーブルを参照してください。AWS Lambda の詳細については、製品ページにアクセスするか、AWS Lambda コンソールにログインしてください。