AWS Toolkit for Visual Studio
.NET ベースの Lambda アプリケーションは、Lambda プラグインを使用して AWS Toolkit for Visual Studio
-
Microsoft Visual Studio を起動し、[New project] を選択します。
-
[File] メニューから [New] を選択し、[Project] を選択します。
-
[New Project] (新しいプロジェクト) ウィンドウで [Lambda Project (.NET Core)] (Lambda プロジェクト (.NET Core)) を選択してから、[OK] をクリックします。
-
[Select Blueprint] (設計図の選択) ウィンドウで、.NET ベースの Lambda アプリケーションの作成を開始するのに役立てるために、サンプルコードを含むサンプルアプリケーションのリストから選択します。
-
Lambda アプリケーションを一から作成するには、[Empty Function] (空の関数)、[Finish] (完了) の順にクリックします。
-
-
プロジェクトの一部として作成された、
aws-lambda-tools-defaults.json
ファイルを確認します。このファイルには、Lambda ツールがデフォルトで読み取るオプションを設定できます。Visual Studio で作成されたプロジェクトテンプレートは、これらのフィールドの多くをデフォルト値を使用して設定します。次のフィールドに注意してください。-
profile - AWS SDK for .NET 認証情報ファイルにあるプロファイルの名前
-
function-handler –
function handler
を指定するフィールド。(これが、ウィザードでの設定が不要である理由です。) ただし、関数のコードで、Assembly
、Namespace
、Class
、またはFunction
の名前を変更した際には、それに該当するフィールドをaws-lambda-tools-defaults.json
ファイル内でも更新する必要があります。{ "profile":"
default
", "region" : "us-east-2
", "configuration" : "Release", "function-runtime":"dotnet6", "function-memory-size" : 256, "function-timeout" : 30, "function-handler" : "Assembly
::Namespace
.Class
::Function"
}
-
-
Function.cs ファイルを開きます。Lambda 関数のハンドラコードを実装するためのテンプレートが提供されます。
-
Lambda 関数を表すコードを記述したら、アプリケーションで [Project] (プロジェクト) ノードのコンテキストメニューを右クリックして開き、[Publish to AWS Lambda] (AWS Lambda に発行) をクリックしてコードをアップロードします。
-
[Lambda 関数のアップロード] ウィンドウで、関数の名前を入力するか、以前に発行済みの関数を選択し再発行します。続いて、[次へ] を選択します。
-
[Advanced Function Details] ウィンドウで、以下のオプションを設定します。
-
ロール名(必須) — Lambda が関数を実行するときに仮定する AWS Identity and Access Management(IAM) ロールです。
-
環境 - Lambda で実行環境に設定するキーと値のペア。コードを使用せずに関数の設定を拡張するには、環境変数を使用します。
-
メモリ - 実行時に関数で使用できるメモリの量。メモリの量は、128 MB~10,240 MB の範囲 (1 MB 単位) で選択します。
-
タイムアウト - Lambda で関数が停止するまでに許可される実行時間。デフォルト値は 3 秒です。最大許容値は 900 秒です。
-
VPC - インターネット経由で利用できないリソースにネットワークアクセスが必要な場合は、Virtual Private Cloud (VPC) に接続するように設定します。
-
DLQ - 関数が非同期呼び出しされた場合は、デッドレターキューを選択して、失敗した呼び出しを受け取ります。
-
アクティブトレースの有効化 - サンプルの受信リクエストと、AWS X-Ray を使用したサンプルリクエストのトレース。
-
-
[次へ]、[アップロード] の順にクリックして、アプリケーションをデプロイします。
詳細については、「.NET Core CLI を使用して AWS Lambda プロジェクトをデプロイする」を参照してください。