基础 Amazon Lambda 项目
您可以使用 Amazon Toolkit for Visual Studio 中提供的 Microsoft .NET Core 项目模板来创建 Lambda 函数。
创建 Visual Studio .NET Core Lambda 项目
您可以使用 Lambda Visual Studio 模板和蓝图来帮助加速项目初始化。Lambda 蓝图包含预先编写好的函数,它们简化了创建灵活项目基础的过程。
注意
Lambda 服务对不同程序包类型有数据限制。有关数据限制的详细信息,请参阅《Amazon Lambda 用户指南》中的 Lambda 配额主题。
在 Visual Studio 中创建 Lambda 项目
-
在 Visual Studio 中,展开文件菜单,展开新建,然后选择项目。
-
在新建项目对话框中,将语言、平台和项目类型下拉框都设置为“全部”,然后在搜索字段中键入 aws lambda。选择 Amazon Lambda 项目(.NET Core - C#)模板。
-
在名称字段中输入
AWSLambdaSample,指定所需的文件位置,然后选择创建以继续。 -
在选择蓝图页面上,选择空函数蓝图,然后选择完成以创建 Visual Studio 项目。
复查项目文件
有两个项目文件需要复查:aws-lambda-tools-defaults.json 和 Function.cs。
以下示例显示 aws-lambda-tools-defaults.json 文件,该文件作为项目的一部分自动创建。您可以使用该文件中的字段设置构建选项。
注意
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 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
以下过程和图像演示了如何使用 Amazon Toolkit for Visual Studio 将您的函数上传到 Lambda。
将函数发布到 Lambda
-
通过展开视图并选择 Amazon Explorer 来导航到 Amazon 各区服务浏览器。
-
在解决方案浏览器中,(右键单击)打开要发布项目的上下文菜单,然后选择发布到 Amazon Lambda 以打开上传 Lambda 函数窗口。
-
在上传 Lambda 函数窗口中,填写以下字段:
-
程序包类型:选择
Zip。作为构建过程的结果,将创建一个 ZIP 文件并将其上传到 Lambda。或者,也可以选择程序包类型Image。教程:创建 Docker 映像的基本 Lambda 项目描述了如何使用程序包类型Image进行发布。 -
Lambda 运行时:从下拉菜单中选择 Lambda 运行时。
-
架构:通过单选按钮选择您偏好的架构。
-
函数名称:通过单选按钮选择创建新函数,然后输入 Lambda 实例的显示名称。Amazon 各区服务浏览器和 Amazon Web Services 管理控制台显示器都会引用此名称。
-
处理程序:使用此字段指定函数处理程序。例如:
AWSLambdaSample::AWSLambdaSample.Function::FunctionHandler。 -
(可选)描述:输入描述性文本,该文本将在 Amazon Web Services 管理控制台中与您的实例一同显示。
-
配置:从下拉菜单中选择所需的配置。
-
框架:从下拉菜单中选择所需的框架。
-
保存设置:选中此框将您当前的设置保存到
aws-lambda-tools-defaults.json中,作为未来部署的默认值。 -
选择下一步进入高级函数详细信息窗口。
-
-
在高级函数详细信息窗口中,填写以下字段:
-
角色名称:选择与您的账户关联的角色。该角色为函数中的代码所发起的任何 Amazon 服务调用提供临时凭证。如果您没有角色,请在下拉选择器中滚动找到基于 Amazon 托管策略的新角色,然后选择 AWSLambdaBasicExecutionRole。此角色拥有最小访问权限。
注意
您的账户必须有权运行 IAM ListPolicies 操作,否则角色名称列表将为空,并且您将无法继续。
-
(可选)如果您的 Lambda 函数访问 Amazon VPC 上的资源,请选择子网和安全组。
-
(可选)设置您的 Lambda 函数所需的任何环境变量。这些密钥会被默认服务密钥自动加密,此项服务是免费的。或者,也可以指定一个 Amazon KMS 密钥,此项服务会产生费用。KMS
是一项托管服务,可使用它创建和控制用于对数据进行加密的加密密钥。如果您有一个 Amazon KMS 密钥,则可从该列表中选择此密钥。
-
-
选择上传以打开上传函数窗口并开始上传过程。
注意
在向 Amazon 上传函数期间,将显示正在上传函数页面。要使向导在上传后保持打开状态以便查看报告,请在上传完成之前取消选中表单底部的在成功完成时自动关闭向导。
函数上传后,您的 Lambda 函数就会上线。函数:视图页面将打开并显示您的新 Lambda 函数的配置。
-
在测试函数选项卡上,在文本输入字段输入
hello lambda!,然后选择调用以手动调用您的 Lambda 函数。您的文本会出现在响应选项卡中,并已转换为大写字母。注意
您可以随时通过双击 Amazon Explorer 内 Amazon Lambda 节点下已部署的实例来重新打开函数:视图。
-
(可选)要确认您已成功发布 Lambda 函数,请登录 Amazon Web Services 管理控制台 并选择 Lambda。控制台会显示您发布的所有 Lambda 函数,包括您刚刚创建的函数。
清理
如果您不打算继续使用此示例进行开发,请删除您部署的函数,这样就不会为账户中未使用的资源付费。
注意
Lambda 会通过 Amazon CloudWatch 报告指标,自动为您监控 Lambda 函数。要对函数进行监控和问题排查,请参阅《Amazon Lambda 开发者指南》中的使用 Amazon CloudWatch 对 Amazon Lambda 函数进行监控和问题排查主题。
删除函数
-
在 Amazon Explorer 中,展开 Amazon Lambda 节点。
右键单击已部署的实例,然后选择删除。