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

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

基本Amazon Lambda项目

使用Amazon Lambda.NET 核心项目模板,您可以使用 Microsoft .NET 核心创建 Lambda 函数。

有关设置先决条件和信息Amazon Toolkit for Visual Studio请参阅使用Amazon中的 Lambda 模板AmazonToolkit for Visual Studio.

创建 Visual Studio.NET 核心 Lambda 项目

内置 Lambda Visual Studio 蓝图可实现快速项目初始化。蓝图是一组固定的文件和函数,用于快速演示功能,为以后的修改提供了良好的起点。

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

  2. 请执行下列操作之一:

    • 对于 Visual Studio 2017,请在新项目对话框中,展开已安装,展开Visual C#选择,AmazonLambda,选择AmazonLambda 项目(.NET 内核-C#)选择模板,然后选择确定.

    • 对于 Visual Studio 2019,请在新项目对话框中,请确保语言平台, 和项目类型下拉框设置为 “全部” 并键入aws lambda中的搜索字段中返回的子位置类型。然后选择AmazonLambda 项目(.NET 内核-C#)选择模板并选择下一步.

  3. 请执行下列操作之一:

    • 对于 Visual Studio 2017,名称输入,AWSLambda1,输入所需的文件位置选择,然后选择确定.

    • 对于 Visual Studio 2019,名称输入,AWSLambda1,输入所需的文件位置选择,然后选择Create.

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

复查项目文件

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

以下示例显示aws-lambda-tools-defaults.json文件,该文件作为项目的一部分创建。您可以使用此文件中的字段来设置构建选项,默认情况下由 Lambda 工具读取这些字段。Visual Studio 中的项目模板包含许多具有默认值的此类字段。该字段函数处理程序指定运行 Lambda 函数时运行的方法。如果你指定函数处理程序字段中,它已预先填充到 “发布” 向导中。如果您重命名函数、类或程序集,您还需要在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将 C # 函数定义为 Lambda 函数公开为 Lambda 函数。该FunctionHandler运行 Lambda 函数时运行的 Lambda 函数。在这个项目中,定义了一个函数:FunctionHandler,它调用ToUpper()在输入文本中。

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

发布到 Lambda

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

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

  2. In解决方案浏右键单击项目,然后选择Publish to (发布到 CloudWatch)AmazonLambda.

  3. 在存储库的上传 Lambda 函数页面中,执行以下操作:

    
                  Lambda 函数的上传屏幕
    1. 适用于软件包类型,选择Zip. 将在构建过程中创建一个 ZIP 文件,并将其上传到 Lambda。另一个软件包类型选项是Image教程:基本 Lambda 项目创建 Docker 映像引导你完成这个替代方案。

    2. 适用于函数名称输入 Lambda 实例的显示名称。这个名字是两者的参考名称AmazonVisual Studio 中的资源管理器以及Amazon Web Services Management Console显示。

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

    4. 选择 Next (下一步)。

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

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

      注意

      您的账户必须有权运行 IAM ListPolicies 操作,否则 Role Name (角色名称) 列表将为空,并且您将无法继续。

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

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

  5. 选择 Upload(上传)。

    这些区域有:上传函数在函数上传到时显示页面Amazon. 要在上传后保持向导打开状态以便您可以查看报告,请清除成功完成后自动关闭向导在上传完成之前的表格底部。

    在函数上传后,您的 Lambda 函数就已上线。这些区域有:函数:查看页面将打开,并显示您的新 Lambda 函数的配置。

  6. 要手动调用 Lambda 函数,请在Test Function选项卡进入hello lambda!在自由文本输入字段中,然后选择Invoke. 转换为大写字母的文本将显示在响应.

    
                  调用测试函数页

    你可以重新打开函数:通过双击位于Amazon探险者Amazon Lambda节点。

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

    
                  在上查看 Lamda 函数Amazon管理控制台

清理

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

删除函数
  • Amazon探险者在下,Amazon Lambda节点,打开您的已部署实例的上下文(右键单击)菜单,然后选择Delete.

后续步骤

此示例演示了如何使用 .NET 3.1 托管运行时创建项目。有关如何为 Lambda 函数创建具有 .NET 5.0 自定义运行时的项目的信息,请参阅使用浏览 .NET 5AmazonToolkit for Visual Studio.

有关其他使用案例,请参阅如何使用 的示例AmazonLambda.

Lambda 会自动通过 Amazon CloudWatch 为您监控 Lambda 函数报告指标。要监视您的函数并排除故障,请参阅诊断和监控Amazon使用 Amazon CloudWatch 的 Lambda 函数.