使用 .NET Core CLI 部署 Amazon Lambda 项目 - Amazon 带有 Amazon Q 的工具包
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 .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 函数之前,您必须满足以下先决条件:

使用 .NET Core CLI 部署 Lambda 函数时,以下相关主题可能会有所帮助:

  • 有关 Lambda 函数的更多信息,请参阅什么是 Lambda Amazon ? 在《Amazon Lambda 开发人员指南》中。

  • 有关在 Visual Studio 中创建 Lambda 函数的信息,请参阅 Amazon Lambda

  • 有关 Microsoft .NET Core 的更多信息,请参阅 Microsoft 在线文档中的 .NET Core

列出可通过 .NET Core CLI 使用的 Lambda 命令

要列出可通过 .NET Core CLI 使用的 Lambda 命令,请执行以下操作。

  1. 打开命令提示符窗口并导航到包含 Visual Studio .NET Core Lambda 项目的文件夹。

  2. 输入 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 核心函数。

  1. 打开命令提示符窗口并导航到包含 Visual Studio .NET Core Lambda 项目的文件夹。

  2. 输入 dotnet lambda deploy-function

  3. 当系统提示时,输入要部署的函数的名称。它可以是新名称或现有函数的名称。

  4. 出现提示时,输入 Amazon 区域(您的 Lambda 函数将部署到的区域)。

  5. 当系统提示时,选择或创建 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 会自动为您监控 Lambda 函数,并通过亚马逊报告指标。 CloudWatch要监控您的 Lambda 函数并对其进行故障排除,请参阅使用亚马逊对 Lambda Amazon 函数进行故障排除和监控。 CloudWatch