使用 .NET Core CLI 部署 Amazon Lambda 项目
Amazon Toolkit for Visual Studio 包含适用于 Visual Studio 的 Amazon Lambda .NET 内核项目模板。您可以使用 .NET Core 命令行界面(CLI)部署 Visual Studio 中构建的 Lambda 函数。
先决条件
在使用.NET Core CLI 部署 Lambda 函数之前,您必须满足以下先决条件:
-
确保安装了 Visual Studio 2015 更新 3。
-
将 .NET Core CLI 设置为可与 Lambda 配合使用。有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的 .NET Core CLI。
-
安装了 Toolkit for Visual Studio。有关更多信息,请参阅 安装 Amazon Toolkit for Visual Studio。
相关主题
使用 .NET Core CLI 部署 Lambda 函数时,以下相关主题可能会有所帮助:
-
有关 Lambda 函数的更多信息,请参阅《Amazon Lambda 开发人员指南》中的什么是 Amazon Lambda?
-
有关在 Visual Studio 中创建 Lambda 函数的信息,请参阅 Amazon Lambda。
-
有关 Microsoft .NET Core 的更多信息,请参阅 Microsoft 在线文档中的 .NET Core
。
列出可通过 .NET Core CLI 使用的 Lambda 命令
要列出可通过 .NET Core CLI 使用的 Lambda 命令,请执行以下操作。
-
打开命令提示符窗口并导航到包含 Visual Studio .NET Core Lambda 项目的文件夹。
-
输入
dotnet lambda --help。
C:\Lambda\AWSLambda1\AWSLambda1>dotnet lambda --help Amazon 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 Amazon serverless applications using Amazon CloudFormation: . deploy-serverless Deploy an Amazon serverless application list-serverless List all of your Amazon serverless applications delete-serverless Delete an Amazon 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 项目
以下说明假定您已在 Visual Studio 中创建 Amazon Lambda .NET 内核函数。
-
打开命令提示符窗口并导航到包含 Visual Studio .NET Core Lambda 项目的文件夹。
-
输入
dotnet lambda deploy-function。 -
当系统提示时,输入要部署的函数的名称。它可以是新名称或现有函数的名称。
-
当系统提示时,输入 Amazon 区域(Lambda 函数将部署到的区域)。
-
当系统提示时,选择或创建 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: (Amazon Lambda function name) DotNetCoreLambdaTest Enter Amazon Region: (The region to connect to Amazon 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
如果您部署现有函数,则部署函数仅要求提供 Amazon 区域。
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: (Amazon Lambda function name) DotNetCoreLambdaTest Enter Amazon Region: (The region to connect to Amazon services) us-west-2 Updating code for existing function
在部署 Lambda 函数后,便可使用该函数。有关更多信息,请参阅如何使用 Amazon Lambda 的示例。
Lambda 会通过 Amazon CloudWatch 报告指标,自动为您监控 Lambda 函数。要对 Lambda 函数进行监控和问题排查,请参阅使用 Amazon CloudWatch 对 Amazon Lambda 函数进行监控和问题排查。