AWS Toolkit for Visual Studio
ユーザーガイド

.NET Core CLI を使用して AWS Lambda プロジェクトをデプロイする

AWS Toolkit for Visual Studio には Visual Studio 用の AWS Lambda .NET Core プロジェクトテンプレートが含まれています。.NET Core for Windows および Toolkit for Visual Studio をインストールする前に、Visual Studio 2015 Update 3 のインストールを完了している必要があります。.NET コアコマンドラインインターフェース (CLI) を使用して、Visual Studio に組み込まれた Lambda 関数をデプロイできます。

注記

Visual Studio で Lambda 関数を作成する方法については、「lambda」を参照してください。

Microsoft .NET Core の詳細については、「.NET Core」を参照してください。

Lambda 関数の詳細については、「AWS Lambda とは」を参照してください。

CLI を使用して使用可能な Lambda コマンドを一覧表示する

.NET Core CLI を使って使用できるさまざまな Lambda コマンドがあります。

  1. コマンドプロンプトを開いて、Visual Studio の .NET Core Lambda プロジェクトが含まれるフォルダに移動します。

  2. dotnet lambda --help と入力します。

C:\Lambda\AWSLambda1\AWSLambda1>dotnet lambda --help AWS Lambda Tools for .NET Core functions Project Home: https://github.com/aws/aws-lambda-dotnet . Commands to deploy and manage |LAM| functions: . deploy-function Deploy the project to |LAM| invoke-function Invoke the function in |LAM| with an optional input list-functions List all of your |LAM| functions delete-function Delete a |LAM| function get-function-config Get the current runtime configuration for a |LAM| function update-function-config Update the runtime configuration for a |LAM| function . Commands to deploy and manage AWS Serverless applications using |CFNlong|: . deploy-serverless Deploy an AWS Serverless application list-serverless List all of your AWS Serverless applications delete-serverless Delete an AWS Serverless application . Other Commands: . package Package a |LAM| project into a .zip file ready for deployment . To get help on individual commands execute: dotnet lambda help <command>

.NET Core CLI から .NET Core Lambda プロジェクトを発行する

次の手順では、Visual Studio で AWS Lambda .NET Core 関数を作成したと想定しています。

  1. コマンドプロンプトを開いて、Visual Studio の .NET Core Lambda プロジェクトが含まれるフォルダに移動します。

  2. dotnet lambda deploy-function と入力します。

#.プロンプトが表示されたら、デプロイする関数の名前を入力します。新しい名前または既存の関数の名前を入力できます。

  1. プロンプトが表示されたら、AWS リージョン (Lambda 関数がデプロイされるリージョン) を入力します。

  2. プロンプトが表示されたら、関数が実行されるときに Lambda が継承する IAM ロールを選択または作成します。

  3. 正常に完了すると、[New Lambda function created (新しい Lambda 関数が作成されました)] のメッセージが表示されます。

C:\Lambda\AWSLambda1\AWSLambda1>dotnet lambda deploy-function Executing publish command ... invoking 'dotnet publish', working folder 'C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\publish' ... publish: Publishing AWSLambda1 for .NETCoreApp,Version=v1.0 ... publish: Project AWSLambda1 (.NETCoreApp,Version=v1.0) will be compiled because expected outputs are missing ... publish: Compiling AWSLambda1 for .NETCoreApp,Version=v1.0 ... publish: Compilation succeeded. ... publish: 0 Warning(s) ... publish: 0 Error(s) ... publish: Time elapsed 00:00:01.2479713 ... publish: ... publish: publish: Published to C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\publish ... publish: Published 1/1 projects successfully Zipping publish folder C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\publish to C:\Lambda\AWSLambda1\AWSLamb da1\bin\Release\netcoreapp1.0\AWSLambda1.zip Enter Function Name: (AWS Lambda function name) DotNetCoreLambdaTest Enter AWS Region: (The region to connect to AWS services) us-west-2 Creating new Lambda function Select IAM Role that Lambda will assume when executing function: 1) lambda_exec_LambdaCoreFunction 2) *** Create new IAM Role *** 1 New Lambda function created

既存の関数をデプロイする場合は、AWS リージョンの入力のみを求められます。

C:\Lambda\AWSLambda1\AWSLambda1>dotnet lambda deploy-function Executing publish command Deleted previous publish folder ... invoking 'dotnet publish', working folder 'C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\publish' ... publish: Publishing AWSLambda1 for .NETCoreApp,Version=v1.0 ... publish: Project AWSLambda1 (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation. ... publish: publish: Published to C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\publish ... publish: Published 1/1 projects successfully Zipping publish folder C:\Lambda\AWSLambda1\AWSLambda1\bin\Release\netcoreapp1.0\publish to C:\Lambda\AWSLambda1\AWSLamb da1\bin\Release\netcoreapp1.0\AWSLambda1.zip Enter Function Name: (AWS Lambda function name) DotNetCoreLambdaTest Enter AWS Region: (The region to connect to AWS services) us-west-2 Updating code for existing function

Lambda 関数はデプロイされると、使用できる状態になっています。「AWS Lambda の使用方法の例」を参照してください。

Lambda は Lambda 関数を自動的にモニタリングし、Amazon CloudWatch を使ってメトリクスを報告します。Lambda 関数のモニタリングおよびトラブルシューティングを行うには、「Amazon CloudWatch を使用した AWS Lambda 関数のトラブルシューティングとモニタリング」を参照してください。