基础 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 Studio .NET Core Lambda 项目

您可以使用 Lambda-Visual Studio 模板和蓝图来帮助加快项目初始化速度。Lambda 蓝图包含预先编写的函数,可简化灵活项目基础的创建。

注意

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

在 Visual Studio 中创建 Lambda 项目
  1. 从 Visual Studio 中展开 “文件” 菜单,展开 “新建”,然后选择 “项目”。

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

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

  4. “选择蓝图” 页面中,选择空函数蓝图,然后选择 “完成” 创建 Visual Studio 项目。

复查项目文件

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

以下示例显示了该aws-lambda-tools-defaults.json文件,该文件是作为项目的一部分自动创建的。您可以使用此文件中的字段来设置生成选项。

注意

Visual Studio 中的项目模板包含许多不同的字段,请注意以下内容:

  • 函数处理程序:指定 Lambda 函数运行时运行的方法

  • 函数处理程序字段中指定值会在 “发布” 向导中预填充该值。

  • 如果重命名函数、类或程序集,则还需要更新aws-lambda-tools-defaults.json文件中的相应字段。

{ "Information": [ "This file provides default values for the deployment wizard inside Visual Studio and the AWS 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-west-2", "configuration": "Release", "function-architecture": "x86_64", "function-runtime": "dotnet8", "function-memory-size": 512, "function-timeout": 30, "function-handler": "AWSLambdaSample::AWSLambdaSample.Function::FunctionHandler" }

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

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

发布到 Lambda

以下过程和图像演示了如何使用将您的函数上传到 Lambda。 Amazon Toolkit for Visual Studio


            调用测试函数页
将您的函数发布到 Lambda
  1. 展开 “视图” 并选择 “ Amazon 资源管理器”,即可导航到Amazon 资源管理器

  2. 解决方案资源管理器中,打开(右键单击)要发布的项目的快捷菜单,然后选择发布到 Amazon Lambda 以打开上传 Lambd a 函数窗口

  3. 在上传 Lambda 函数窗口中,填写以下字段:

    1. Package 类型:选择Zip。作为构建过程的结果,将创建一个 ZIP 文件并将其上传到 Lambda。或者,您可以选择 Pack age Type Image教程:创建 Docker 镜像的基本 Lambda 项目描述了如何使用 Package 类型进行发布。 Image

    2. Lambda 运行时:从下拉菜单中选择您的 Lambda 运行时。

    3. 架构:根据您的首选架构选择径向。

    4. 函数名称:为 “创建新函数” 选择径向,然后输入 Lambda 实例的显示名称。 Amazon 浏览器和 Amazon Web Services Management Console 显示器都会引用此名称。

    5. 处理程序:使用此字段指定函数处理程序。例如:AWSLambdaSample::AWSLambdaSample.Function::FunctionHandler

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

    7. 配置:从下拉菜单中选择您的首选配置。

    8. 框架:从下拉菜单中选择您的首选框架。

    9. 保存设置:选中此框可将当前设置保存为默认设置,以aws-lambda-tools-defaults.json备将来部署时使用。

    10. 选择 “下一步” 进入高级函数详细信息窗口。

  4. 在 “高级函数详细信息” 窗口中,填写以下字段:

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

      注意

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

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

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

  5. 选择 “上传” 以打开 “上传函数” 窗口并开始上传过程。

    注意

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

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

  6. 测试函数选项卡中,在文本输入字段hello lambda!中输入,然后选择调用以手动调用您的 Lambda 函数。您的文本将显示在 “回复” 选项卡中,并转换为大写。

    注意

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

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

清理

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

注意

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

删除函数
  1. Amazon 资源管理器中展开Amazon Lambda节点。

  2. 右键单击已部署的实例,然后选择删除