基础 Amazon Lambda 项目 - Amazon 适用于 Visual Studio 的工具包
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

基础 Amazon Lambda 项目

你可以使用微软.NET Core 项目模板创建 Lambda 函数。

有关设置的先决条件和信息 Amazon Toolkit for Visual Studio,请参阅使用 Visual Stu Amazon dio Amazon 工具包中的 Lambda 模板

创建 Visual Studio .NET Core Lambda 项目

内置的 Lambda Visual Studio 蓝图支持快速项目初始化。蓝图是一组标准的文件和函数,用于快速演示功能,并为以后的修改提供了一个很好的起点。

注意

Lambda 服务对不同的包裹类型有数据限制。有关数据限制的详细信息,请参阅 Lambda 用户指南中的 Lambda Amazon 配额主题。

在 Visual Studio 2019 中创建 Lambda 项目
  1. 打开 Visual Studio,在 File (文件) 菜单上,选择 New (新建)Project (项目)

  2. 在 “新建项目” 对话框中,将 “语言”、“平台” 和 “项目类型” 下拉框设置为 “全部”,然后aws lambda在 “搜索” 字段中键入。选择 Amazon Lambda 项目(.NET 核心-C#)模板

  3. 在 “名称” 字段中输入AWSLambda1,指定所需的文件位置,然后选择 “创建” 继续。

  4. 选择蓝图页面上,选择空函数蓝图,然后选择完成,以创建 Visual Studio 项目。您可以现在复查项目的结构和代码。

复查项目文件

有两个项目文件需要复查:aws-lambda-tools-defaults.jsonFunction.cs

以下示例显示了 aws-lambda-tools-defaults.json 文件,该文件作为项目的一部分创建。您可以使用该文件中的字段设置构建选项,默认情况下,Lambda 工具将读取这些选项。Visual Studio 中的项目模板包含多个此类字段并使用默认值。function-handler 字段指定运行 Lambda 函数时运行的方法。如果指定 function-handler 字段,则会在发布向导中预填充该字段。如果您重命名函数、类或程序集,则也需要更新 aws-lambda-tools-defaults.json 文件中的该字段。

{ "Information": [ "This file provides default values for the deployment wizard inside Visual Studio and the Amazon Lambda commands added to the .NET Core CLI.", "To learn more about the Lambda commands with the .NET Core CLI execute the following command at the command line in the project root directory.", "dotnet lambda help", "All the command line options for the Lambda command can be specified in this file." ], "profile": "default", "region": "us-east-2", "configuration": "Release", "framework": "netcoreapp3.1", "function-runtime": "dotnetcore3.1", "function-memory-size": 256, "function-timeout": 30, "function-handler": "AWSLambda1::AWSLambda1.Function::FunctionHandler" }

检查 Function.cs 文件。Function.cs 定义了要作为 Lambda 函数公开的 c# 函数。这里的 FunctionHandler 是在运行 Lambda 函数时运行的 Lambda 功能。在此项目中,定义了一个函数:FunctionHandler,它在输入文本上调用 ToUpper()

您的项目现在可发布到 Lambda。

发布到 Lambda

如何以及何时调用 Lambda 功能并不是 Lambda 部署本身的一部分;Lambda 只是按需功能的“内容”。

将函数发布到 Lambda
  1. 如果 “ Amazon 资源管理器” 窗口未打开,请选择 “查看”,然后选择 “Amazon 资源管理器”。

  2. 解决方案资源管理器中,右键单击该项目,然后选择发布到 Amazon Lambda

  3. 上传 Lambda 函数页面上,执行以下操作:

    
                  Lambda 函数的上传屏幕
    1. 对于包类型,选择 Zip。作为构建过程的结果,将创建一个 ZIP 文件并将其上传到 Lambda。另一个包类型选项是 Image教程:基本 Lambda 项目创建 Docker 映像将介绍该替代方案。

    2. 对于函数名称,为 Lambda 实例输入显示名称。此名称是 Visual Studio 中的 Amazon 资源管理器以及 Amazon Web Services Management Console 显示屏的引用名称。

    3. (可选)对于描述,输入要在 Amazon Web Services Management Console中与您的实例一起显示的文本。

    4. 选择下一步

  4. 高级函数详细信息页面中,执行以下操作:

    1. 对于角色名称,选择与您的账户关联的角色。该角色为函数中的代码发出的任何 Amazon 服务调用提供临时证书。如果您没有角色,请选择 “基于 Amazon 托管策略新建角色AWSLambdaBasicExecutionRole,然后选择访问权限最低的角色。

      注意

      您的账户必须拥有运行 IAM ListPolicies 操作的权限,否则角色名称列表将为空,您将无法继续。

    2. (可选)如果您的 Lambda 函数访问 Amazon VPC 上的资源,请选择子网和安全组。

    3. (可选)设置您的 Lambda 函数所需的任何环境变量。这些密钥由免费的默认服务密钥自动加密,或者您可以指定一个需要付费的 Amazon KMS 密钥。KMS 是一项托管服务,可使用它创建和控制用于对数据进行加密的加密密钥。如果您有 Amazon KMS 密钥,则可以从列表中将其选中。

  5. 选择上传

    函数上传到时,将显示 “上传函数” 页面 Amazon。要使向导在上传后保持打开状态以便查看报告,请在上传完成之前取消选中表单底部的在成功完成时自动关闭向导

    函数上传后,您的 Lambda 函数就会上线。函数:视图页面将打开并显示您的新 Lambda 函数的配置。

  6. 要手动调用 Lambda 函数,请在测试函数选项卡上,在自由文本输入字段输入 hello lambda!,然后选择调用。您的文本将转换为大写并显示在响应中。

    
                  调用测试函数页

    您可以随时重新打开函数:视图,方法是双击位于 Amazon 各区服务浏览器Amazon Lambda 节点下的已部署实例。

  7. (可选)要再次确认您已成功发布您的 Lambda 函数,请登录 Amazon Web Services Management Console 并选择 Lambda。控制台会显示您发布的所有 Lambda 函数,包括您刚刚创建的函数。

    
                  在 Amazon 管理控制台上查看 Lamda 功能

清理

如果您不打算继续使用此示例进行开发,请删除您部署的函数,这样就不会为账户中未使用的资源付费。

删除函数
  • Amazon 各区服务浏览器中的 Amazon Lambda 节点下,打开已部署实例的上下文(右键单击)菜单,然后选择删除

后续步骤

此示例演示了如何使用 .NET 3.1 托管运行时系统创建项目。有关如何使用.NET 5.0 自定义运行时为 Lambda 函数创建项目的信息,请参阅使用适用于 Visual Studio 的 Amazon 工具包探索.NET 5

有关其他应用场景,请参阅如何使用 Amazon Lambda 的示例

Lambda 会自动为您监控 Lambda 函数,并通过亚马逊报告指标。 CloudWatch要监控您的函数并对其进行故障排除,请参阅使用 Amazon 进行故障排除和监控 Amazon Lambda 函数。 CloudWatch