使用 Visual Studio IDE 使用 .NET Core 6 运行时创建简单的 AWS Lambda 函数
在这篇博客中,让我们看看如何开始使用 .NET Core 6 创建无服务器函数 (AWS Lambda) 我们要做什么? 使用 Visual Studio 创建 Lambda 函数 将函数推送到 AWS Lambda 确定测试功能的不同方法 先决条件: 1.Visual Studio 2022 社区版 2.AWS Toolkit for Visual Studio- 用于使用 Visual Stu
在这篇博客中,让我们看看如何开始使用 .NET Core 6 创建无服务器函数 (AWS Lambda)
我们要做什么?
-
使用 Visual Studio 创建 Lambda 函数
-
将函数推送到 AWS Lambda
-
确定测试功能的不同方法
先决条件:
1.Visual Studio 2022 社区版
2.AWS Toolkit for Visual Studio- 用于使用 Visual Studio 与 AWS 资源进行通信
走吧!
- 创建 IAM 用户
为了允许 Visual Studio 与我们的 AWS 账户对话,我们需要创建一个启用了编程访问的 IAM 用户。此外,用户需要拥有创建/发布 AWS Lambda 函数所需的相关权限。为简单起见,我们可以分配 AWS 管理员访问权限,但理想情况下,在 PROD 工作负载中,我们将始终看到遵循“最小特权原则”。
- 在 Visual Studio 上设置 AWS 配置文件
在查看 > 我们将找到 AWS Explorer。在面板顶部,我们将看到一个配置凭据详细信息的选项。从 IAM 屏幕中选择凭证并确保选择适当的 AWS 区域。保存后,凭据将被更新,详细信息将保存到配置文件中。
3.创建一个新项目
创建一个新项目并从模板中搜索 AWS Lambda 项目(使用过滤器)
- 选择蓝图
与 AWS 控制台的选项非常相似,在这里,我们也可以选择使用预定义的蓝图。如果我们有与其中正在实施的类似的要求,这些是我们可以利用的基本实施。现在,选择一个 Empty 函数,因为我们想从头开始查看执行
5.函数.cs
这是我们将看到函数的主文件。默认函数将输入作为字符串接收,并通过将其转换为大写来返回。
6.修改函数接受自定义类
让我们更改 function.cs 文件。我们将添加一个具有 Id 和 Name 属性的自定义类,并将 .ToUpper() 应用于 Name 属性并从函数返回它
- 使用 Visual Studio 进行本地测试
作为此步骤的一部分,只要我们单击“Mock Lambda 测试工具”,我们就可以在本地运行该函数
- 自定义函数名
默认情况下,函数名称的格式为“assembly::type::method”。我们可以通过编辑“aws-lambda-tools-defaults.json”文件来修改并给它一个自定义名称
- 上传函数到 AWS
最后,是时候将我们的函数上传到 AWS。右键单击项目文件 > 选择“发布到 AWS Lambda”。选择后,我们将看到一个模式弹出窗口打开。它会从“aws-lambda-tools-defaults.json”文件中获取详细信息。但是,如果需要,我们可以对其进行修改。
- 高级功能详情
在这个界面下,我们可以提供IAM Role、Memory、Timeout、VPC、DLQ等功能详情。环境变量等
- 角色名称 - 这是 Lambda 函数在创建时将承担的角色。我们需要为功能选择合适的角色以无缝执行。目前,由于我们的 lambda 不与任何其他 AWS 服务通信,因此分配了**“AWSLambdaBasicExecutionRole”**,它只能访问 CloudWatch 以转储日志。
- 执行 - 在这里,我们需要提供我们希望函数拥有的内存和超时。
- VPC - 如果我们希望我们的功能部署在任何自定义 VPC/子网组合中,我们可以在此处提供信息
- 发布
点击发布功能后,Visual Studio 将开始将该功能上传到 AWS Lambda。它将创建 IAM 角色,附加策略,将 IAM 角色传播到我们指定的 AWS 区域,通过点击创建 .zip 文件并上传来执行发布命令。
- 在 AWS 控制台上验证
完成后,我们可以检查 AWS Lambda,我们现在将看到我们的函数已成功创建并准备就绪!
- 从 Visual Studio 测试功能
上传完成后,我们甚至可以在 Visual Studio 中测试该功能
- 从 AWS 管理控制台测试功能
我们甚至可以通过创建这样的测试事件从 AWS Lambda 控制台执行测试
- Cloudwatch 上的日志
如果您还记得,我们确实为我们的 Lambda 函数提供了 "AWSLambdaBasicExecutionRole"。使用该角色,我们可以允许我们的 AWS Lambda 函数将日志推送到 CloudWatch。我们可以导航到 CloudWatch 并查看成功通过的日志。
我们完成了:)
你可以在这里找到代码
更多推荐
所有评论(0)