

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# .NET Core CLI를 사용하여 AWS Lambda 프로젝트 배포
<a name="lambda-cli-publish"></a>

에는 Visual Studio용 AWS Toolkit for Visual Studio include AWS Lambda .NET Core 프로젝트 템플릿이 포함되어 있습니다. .NET Core 명령줄 인터페이스(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 업데이트 3이 설치되어 있는지 확인하세요.
+ [NET Core for Windows](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).