Lambda 愛好者の皆さん、アップデートをお楽しみに! 今週から、ほぼすべてのバージョンの .NET Core で Cloudy 関数を記述できるようになりました。
当然のことながら、Amazon は、Microsoft による .NET Core の一部バージョンに対するサポート期間が比較的短いことに少々警戒しており、Redmond のフレームワークの長期サポート (LTS) エディションを自社のサーバーレス製品に組み込んでいます。
つまり、現在、Lambdaに組み込まれている.NET Coreの最新バージョンは、昨年リリースされた2.1です。Microsoftはその後、バージョン2.2とバージョン3.0のプレビュー版をリリースしましたが、レドモンドが2.2をLTSエディションにするまで、Lambda開発者はバージョン2.1に縛られていました。
しかし、最先端の技術を使いたい方には朗報です。Lambdaのカスタムランタイム機能のおかげで、このAmazon.Lambda.RuntimeSupport
ライブラリが救世主となるのです。
カスタムAWS Lambdaランタイムを使用すると、開発者はサポートされていない言語やランタイムでLambda関数を実装できます。ランタイムが呼び出しとイベントを正しく処理するかどうかは、コーディング担当者の責任です。このAmazon.Lambda.RuntimeSupport
ライブラリはこの機能を活用することで、開発者がほぼあらゆるバージョンの.NET Coreを利用できるようにしています。
しかし Amazon は、フレームワークの非 LTS バージョンの短期的な性質が適切でない場合には、組み込みの .NET Core サポート (現時点では 2.1) を維持することが合理的であるとすぐに指摘しています。
Visual Studioで関数を記述したい場合、残念ながら今回は残念ながらご利用いただけません。Amazonによると、このlambda.CustomRuntimeFunction
テンプレートは.NET Core CLI経由でのみ利用可能とのことですが、AWS Toolkit for Visual Studioのアップデートは「近日中」に提供される予定です。
マイクロソフトがAzure Functionsをオープン化
続きを読む
AWS Custom Runtimes は 2018 年に Amazon の re:Invent で発表され、同社は開発者に対し、ランタイム API によって将来的に新しい言語をサポートする予定であると伝えました。
MicrosoftのAzure Functionsに関する見解は、やや曖昧です。Azure Functionsランタイムの2.xバージョンを実行すると、開発者は.NET Core 2.1の世界に留まることになるようです。つまり、.NET Coreチームの最新かつ最高の機能を利用したい開発者は、AWSを詳しく検討した方が良いかもしれません。
開発者が好みの .NET Core バージョンを選択できるようにする計画があるかどうかを確認するために Microsoft に問い合わせており、回答があればこの記事を更新します。®
追加更新
心配しないでください。.NET Core 2.2 は Azure Functions でカバーされていると確信しています。その場所は Visual Studio の [ターゲット フレームワーク] ドロップダウン メニューにあります。
「Azure Functions はすでに .NET Core 2.2 で動作します。お客様は Visual Studio でプロジェクトを更新するだけで、.NET Core 2.2 API を活用するコードを簡単に作成できます」と Azure Functions チームのメンバーはThe Registerに語った。
「テンプレートはデフォルトで .NET Core 2.2 に設定されません。これは、2.2 SDK をインストールしていない顧客に影響を与える可能性があるためです。」