本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
部署AWS Lambda使用 .NET 核心 CLI 项目
AWS Toolkit for Visual Studio 包含适用于 Visual Studio 的 AWS Lambda .NET 内核项目模板。您可以使用 .NET 内核命令行界面 (CLI) 部署 Visual Studio 中构建的 Lambda 函数。
先决条件
在使用 .NET 核心 CLI 部署 Lambda 函数之前,您必须满足以下先决条件:
-
请确保安装 Visual Studio 2015 Update 3。
-
设置 .NET 核心 CLI 使用 Lambda。有关更多信息,请参阅 。.NET 内核 CLI中的AWS Lambda开发人员指南.
-
安装 Toolkit for Visual Studio。有关更多信息,请参阅 正在安装 AWS Toolkit for Visual Studio。
相关主题
在使用 .NET 核心 CLI 部署 Lambda 函数时,以下相关主题可能会有所帮助:
-
有关 Lambda 函数的更多信息,请参阅是什么AWSLambda?中的AWS Lambda开发人员指南.
-
有关在 Visual Studio 中创建 Lambda 函数的信息,请参阅AWS Lambda.
-
有关 Microsoft .NET 内核的更多信息,请参阅.NET 内核
在微软的在线文档中。
列出 .NET 核心 CLI 使用的 Lambda 命令
要列出可通过 .NET 核心 CLI 使用的 Lambda 命令,请执行以下操作。
-
打开命令提示符窗口,然后导航到包含 Visual Studio .NET 核心 Lambda 项目的文件夹。
-
输入
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 核心 CLI 发布 .NET 核心 Lambda 项目
以下说明假定您已在 Visual Studio 中创建 AWS Lambda .NET 内核函数。
-
打开命令提示符窗口,然后导航到包含您的 Visual Studio .NET 核心 Lambda 项目的文件夹。
-
输入
dotnet lambda deploy-function
。 -
当系统提示时,输入要部署的函数的名称。它可以是新名称或现有函数的名称。
-
当系统提示时,输入AWS区域 (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: (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 函数后,便可使用该函数。有关更多信息,请参阅 。如何使用 的示例AWSLambda.
Lambda 会自动替您监控 Lambda 函数,并通过亚马逊报告各项指标 CloudWatch. 要监控 Lambda 函数并排除故障,请参阅诊断和监控AWSLambda 在亚马逊上使用 CloudWatch.