

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# .NET Core CLI を使用した AWS Lambda プロジェクトのデプロイ
<a name="lambda-cli-publish"></a>

 AWS Toolkit for Visual Studio には、Visual Studio 用の includes AWS Lambda .NET Core プロジェクトテンプレートが含まれています。.NET コアコマンドラインインターフェイス (CLI) を使用して、Visual Studio に組み込まれた Lambda 関数をデプロイできます。

**Topics**
+ [前提条件](#lambda-cli-prereqs)
+ [関連トピック](#lambda-cli-related)
+ [.NET Core CLI を介して使用可能な Lambda コマンドを一覧表示する](#listing-the-lam-commands-available-through-the-cli)
+ [.NET Core CLI から .NET Core Lambda プロジェクトを発行する](#publishing-a-net-core-lam-project-from-the-net-core-cli)

## 前提条件
<a name="lambda-cli-prereqs"></a>

.NET Core CLI を使用して Lambda 関数をデプロイする前に、次の前提条件を満たす必要があります。
+ Visual Studio 2015 Update 3 がインストールされていることを確認してください。
+ [.NET Core for Widnows](https://dotnet.microsoft.com/download#windowsvs2015) をインストールします。
+ .NET Core CLI をセットアップして Lambda を操作します。詳細については、*AWS Lambda デベロッパーガイド*の「[ NET Core CLI](https://docs.aws.amazon.com//lambda/latest/dg/csharp-package-cli.html)」を参照してください。
+ Toolkit for Visual Studio をインストールします。詳細については、「[のインストール AWS Toolkit for Visual Studio](setup.md#install)」を参照してください。

## 関連トピック
<a name="lambda-cli-related"></a>

.NET Core CLI を使用して Lambda 関数をデプロイする場合、次の関連トピックが役立ちます。
+ Lambda 関数の詳細については、「 *AWS Lambda デベロッパーガイド*」の[AWS 「Lambda とは](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)」を参照してください。
+ Visual Studio で Lambda 関数を作成する方法については、「[AWS Lambda](lambda-index.md)」を参照してください。
+ Microsoft .NET Core の詳細については、Microsoft オンラインドキュメントの「[.NET Core](https://docs.microsoft.com/en-us/dotnet/articles/core/)」を参照してください。

## .NET Core CLI を介して使用可能な Lambda コマンドを一覧表示する
<a name="listing-the-lam-commands-available-through-the-cli"></a>

.NET Core CLI を介して使用できる Lambda コマンドを一覧表示するには、次の手順を実行します。

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

1. `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 Lambda functions:
    .
            deploy-function         Deploy the project to Lambda
            invoke-function         Invoke the function in Lambda with an optional input
            list-functions          List all of your Lambda functions
            delete-function         Delete a Lambda function
            get-function-config     Get the current runtime configuration for a Lambda function
            update-function-config  Update the runtime configuration for a Lambda function
    .
    Commands to deploy and manage AWS serverless applications using AWS CloudFormation:
    .
            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 Lambda project into a .zip file ready for deployment
    .
    To get help on individual commands, run the following:

            dotnet lambda help <command>
```

## .NET Core CLI から .NET Core Lambda プロジェクトを発行する
<a name="publishing-a-net-core-lam-project-from-the-net-core-cli"></a>

次の手順では、Visual Studio で AWS Lambda .NET Core 関数を作成していることを前提としています。

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

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

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

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

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

正常に完了すると、[**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 の使用例](https://docs.aws.amazon.com/lambda/latest/dg/use-cases.html)」を参照してください。

Lambda は、ユーザーに代わって Lambda 関数を自動でモニタリングし、Amazon CloudWatch からメトリクスを報告します。Lambda 関数をモニタリングおよびトラブルシューティングするには、[Amazon CloudWatch を使用した AWS Lambda 関数のトラブルシューティングとモニタリング](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html)」を参照してください。