メニュー
AWS Lambda
開発者ガイド

ステップ 2.4: (オプション) C# で Lambda 関数を作成する

AWS Lambda コンソールの設計図には、Python または Node.js. で作成されたサンプルコードが用意されています。コンソールでインラインエディターを使用して例に簡単に変更を加えることができます。ただし、C# で Lambda 関数のコードを作成する場合、設計図は用意されていません。また、AWS Lambda コンソールで C# コードを記述するためのインラインエディターはありません。

Lambda コンソールでは、Java、C# などのコンパイル済み言語の編集を提供していませんが、Visual Studio などの任意の IDE を使用して、C# のコードとライブラリを作成しパッケージ化することができます。ZIP ファイルとしてパッケージ化すれば、C# Lambda 関数をアップロードおよびテストし、それらのログとメトリックスを表示するのに AWS Lambda コンソールを使用できます。

このセクションでは、以下の C# コード例を使用して Lambda 関数を作成します。

Copy
using Amazon.Lambda.Core; namespace LambdaFunctionExample{ public class Hello { public string MyHandler(int count, ILambdaContext context) { var logger = context.Logger; logger.log("received : " + count); return count.ToString(); } } }

Lambda 関数のハンドラー署名は Assembly::Namespace.ClassName::MethodName 形式である必要があります。プログラミングモデルでは、AWS Lambda がサポートしている入出力の型など、C# コードを記述する方法の詳細について説明します。プログラミングモデルの詳細については、「C# で Lambda 関数を作成するためのプログラミングモデル」を参照してください。ここでは、このコードに関して以下の点に注意してください。

  • この例のハンドラーでは、入力に int 型を、出力に string 型を使用しています。

    この関数を呼び出すときは、サンプルの int (123 など) を渡します。

  • この演習では、コンソールを使用してこの Lambda 関数を手動でテストします。コンソールでは常に RequestResponse 呼び出しタイプ (同期) が使用されるため、コンソールに応答が表示されます。

  • ハンドラーにはオプションの ILambdaContext パラメータが含まれます。コードでは、CloudWatch ログにログエントリを書き込むために Amazon.Lambda.Core.LambdaLogger オブジェクトによって提供される LambdaLogger を使用します。ILambdaContext オブジェクトの使用の詳細については、「Context オブジェクト (C#)」を参照してください。

最初に、デプロイパッケージにこのコードや依存関係をパッケージ化する必要があります。その後、「開始方法」の演習の手順に従って、コンソールを使用してパッケージをアップロードしたら、Lambda 関数を作成してテストできます。詳細については、「デプロイパッケージの作成 (C#)」を参照してください。

次のステップ

ステップ 3: Lambda と API ゲートウェイ を使用してシンプルなマイクロサービスを作成する