Visual Studio 2019 の C# で AWS Lambdaの開発を始める

あらかじめ AWS Toolkit for Visual Studio をインストールしておきます。

Visual Studio 2019 を起動し、「新しいプロジェクトの作成」をクリックします。

表示されたテンプレートから「AWS Lambda Project (.NET Core – C#) 」を選択し、「次へ」をクリックします。

任意のプロジェクト名を入力し、「作成」ボタンをクリックします。

ブループリントを選択します。 今回は「Empty Function」を選択し「Finish」ボタンをクリックします。

ソリューションが作成されます。

Function.csの中身は下記のようになっていると思います。入力文字列を大文字に変換して戻す、サンプルの関数が作られています。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

using Amazon.Lambda.Core;

// Assembly attribute to enable the Lambda function's JSON input to be converted into a .NET class.
[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))]

namespace AWSLambda1
{
    public class Function
    {
        
        /// <summary>
        /// A simple function that takes a string and does a ToUpper
        /// </summary>
        /// <param name="input"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        public string FunctionHandler(string input, ILambdaContext context)
        {
            return input?.ToUpper();
        }
    }
}

[表示] – [AWS Explorer]をクリックします。

[New Account Profile]ボタンをクリックします。

AWSのアカウント情報を入力し、[OK]ボタンをクリックします。

  • Profile Name : 任意の名前
  • Access Key ID: プログラマブルアクセス可能な IAM ユーザーのアクセスキー
  • Secret Access Key:プログラマブルアクセス可能な IAM ユーザーのシークレットキー
  • Account Number: 12桁のAWS アカウント ID

ソリューションエクスプローラーからプロジェクト名を右クリックし、コンテキストメニューから 「Publish to AWS Lambda…」 をクリックします。

「Account profile to use」と「Region」を選択し、「Function Name」にAWS Lambda上での関数名を入力、「Next」ボタンをクリックします。

関数の詳細設定をします。今回はサンプルなので、「Roll Name」から「AWSLambdaFullAccess」を選択、その他は既定値のまま「Upload」ボタンをクリックします。

関数のアップロードが完了すると「Function」タブ が表示されるはずです。 この画面からLambda関数を実行することが可能です。「Sample Input」エリアへ文字を入力し、「Invoke」ボタンをクリックします。

「Response」エリアに大文字に変換された文字が表示されていると思います。ここで意図した動作をしているかを確認することができます。

以上です。