AWSは、サーバレスコンピューティングサービス「AWS Lambda」の関数コードを、「.NET Core 2.1」ランタイムを使ってC#で作成できるようにした。
Amazon Web Services(AWS)は2018年7月9日(米国時間)、サーバレスコンピューティングサービス「AWS Lambda」の関数コードが、「.NET Core 2.1」ランタイムを使ってC#で作成できるようになったと発表した。
AWS Lambdaは2018年1月から「.NET Core 2.0」をサポートしている。AWSは、.NET Core 2.0ベースのAWS Lambda関数については、.NET Core 2.1にできるだけ早く更新することを勧めている。Microsoftは今夏から.NET Core 2.1の長期サポート(LTS)を提供する予定で、このサポートは3年間継続される。
その一方でMicrosoftは、.NET Core 2.0のサポートを2018年10月初めに終了する。これに伴い、AWS Lambdaランタイムサポートポリシーに従って、.NET Core 2.0ベースのAWS Lambda関数は非推奨となる。サポート終了の3カ月後には、.NET Core 2.0を使ってAWS Lambda関数を作成できなくなる。この段階では、既存関数を更新可能だが、6カ月後には、この更新機能も無効になる。
AWS Lambdaが.NET Core 2.1をサポートしたことで、開発者はこのバージョンの高パフォーマンスHTTPクライアントを利用できる。これは、AWS Lambda関数による他のAWSサービスと統合する上で特に重要になる。さらに、「Span<T>」や「Memory<T>」など、新しい言語機能も使えるようになる。
.NET Core 2.1を使用してC#でLambda関数を作成する簡単な方法は、「AWS Toolkit for Visual Studio」を使うことだ。このツールキットには、「個々のC# Lambda関数のプロジェクトテンプレート」「C#サーバレスアプリケーション」「両方のプロジェクトタイプをAWSにデプロイするためのツール」が含まれている。
手動でC# Lambda関数を作成するには、Lambdaランタイムパラメーターを「dotnetcore2.1」と指定し、デプロイするDLLアセンブリと全てのNuGet依存関係のZIPファイルを、AWS CLI(Command Line Interface)またはLambdaコンソールからアップロードする。また、C#で作成されたサーバレスアプリケーションは、「AWS Serverless Application Model」(SAM)を使ってデプロイ、管理できる。
.NET Core 2.1を使用するLambdaプログラミングモデルは、.NET Core 2.0と完全な互換性がある。.NET Core 2.0ランタイムで動作する既存のC# Lambda関数は、.NETプロジェクトのターゲットフレームワークを「netcoreapp2.1」にアップデートし、関数を「dotnetcore2.1」ランタイムとともに再デプロイすることで、.NET Core 2.1に移行できる。
.NET Core 2.1ランタイムは、Lambdaが使用可能な全てのリージョンで利用できる。.NET Core AWS Lambdaツールおよびライブラリの最新版は、aws-lambda-dotnetのGitHubリポジトリで公開されている。
なお、.NET Core 2.1.1が2018年6月下旬にリリースされており、AWSは、これをAWS Lambda環境でできるだけ早く利用できるようにするとしている。
Copyright © ITmedia, Inc. All Rights Reserved.