创建 Lambda 持久性函数
要开始使用 Lambda 持久性函数,请使用 Lambda 控制台创建持久性函数。您可以在几分钟内创建并部署一个持久性函数,该函数使用步骤和等待来演示基于检查点的执行。
在您执行教程的过程中,您将学习一些基本的持久性函数概念,例如如何使用 DurableContext 对象、如何通过步骤创建检查点以及如何使用等待功能来暂停执行。您还将了解到在您的函数在等待结束后恢复时,重放机制是如何运作的。
为了简单起见,您可以使用 Python 或 Node.js 运行时系统创建函数。您可以使用这些解释性语言,在控制台的内置代码编辑器中直接编辑函数代码。
提示
要了解如何构建无服务器解决方案,请查看无服务器开发人员指南。
先决条件
如果您还没有,Amazon Web Services 账户请完成以下步骤来创建一个。
注册 Amazon Web Services 账户
按照屏幕上的说明操作。
在注册时,将接到电话或收到短信,要求使用电话键盘输入一个验证码。
当您注册 Amazon Web Services 账户 时,系统将会创建一个。Amazon Web Services 账户根用户根用户有权访问该账户中的所有 Amazon Web Services 服务 和资源。作为最佳安全实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务。
注册过程完成后,Amazon 会向您发送一封确认电子邮件。在任何时候,您都可以通过转至 https://aws.amazon.com/
注册 Amazon Web Services 账户 后,启用多重身份验证(MFA)保护您的管理用户。有关说明,请参阅《IAM 用户指南》中的 为 IAM 用户启用虚拟 MFA 设备(控制台)。
要授予其他用户访问您的 Amazon Web Services 账户资源的权限,请创建 IAM 用户。为了保护您的 IAM 用户,请启用 MFA 并仅向 IAM 用户授予执行任务所需的权限。
有关创建和保护 IAM 用户的更多信息,请参阅《IAM 用户指南》中的以下主题:
使用控制台创建 Lambda 持久性函数
在此示例中,您的持久性函数通过多个步骤处理订单,并具有自动检查点机制。该函数采用包含订单 ID 的 JSON 对象,对其进行验证,处理付款,然后确认订单。每个步骤都会自动进行检查点操作,因此如果函数被中断,它会从最后完成的步骤处恢复执行。
您的函数还演示了一个等待操作,它会暂停执行一小段时间,以此来模拟等待外部确认的过程。
要使用控制台创建持久性函数
打开 Lamba 控制台的 Functions page
(函数页面)。 -
选择创建函数。
-
选择从头开始编写。
-
在基本信息窗格中,为函数名称输入
。myDurableFunction -
对于运行时,选择 Node.js 24 或 Python 3.14。
-
选择启用持久执行。
Lambda 使用包含检查点操作(lambda:CheckpointDurableExecutions 和 lambda:GetDurableExecutionState)权限的执行角色创建您的持久性函数。
注意
Lambda 运行时包括持久执行 SDK,因此您无需打包依赖项即可测试持久性函数。但是,我们建议将 SDK 包含在您的生产部署包中。这样可以确保版本一致性,并且可以避免可能影响函数的潜在运行时更新。
使用控制台的内置代码编辑器添加您的持久性函数代码。
使用控制台代码编辑器调用持久性函数
持久性函数需要使用限定的 ARN 才能调用。在您能够调用持久性函数之前,请先发布一个版本。
要发布您的函数的版本
-
选择版本选项卡。
-
选择 새 버전 발행。
-
在版本描述中,输入
Initial version(可选)。 -
选择发布。
-
Lambda 会创建您的函数的版本 1。请注意,函数 ARN 现在在末尾包含
:1,表示这是版本 1。
现在,创建一个测试事件以发送到您的函数。该事件是一个 JSON 格式的文档,其中包含订单 ID。
创建测试事件
-
在控制台代码编辑器的测试事件部分中,选择创建测试事件。
-
对于 Event Name (事件名称),输入
myTestEvent。 -
在事件 JSON 部分中,使用以下内容替换默认 JSON:
{ "orderId": "order-12345" } -
选择保存。
要测试您的持久性函数并查看执行情况
在控制台代码编辑器的测试事件部分中,选择测试事件旁边的运行图标:
您的持久性函数开始执行。因为该函数包含一段10秒的等待时间,所以初始调用会快速完成,函数将在等待期结束后恢复执行。您可以在持久执行选项卡中查看执行进度。
要查看您的持久性函数执行情况
-
选择持久执行选项卡。
-
在列表中找到执行。执行将显示当前状态(正在运行、成功或失败)。
-
选择执行 ID 以查看详细信息,其中包括:
显示每个步骤完成时间的执行时间表
检查点历史记录
等待期
步骤结果
您还可以在 CloudWatch Logs 中查看函数的日志,以查看每个步骤的控制台输出。
在 CloudWatch Logs 中查看函数的调用记录
-
打开 CloudWatch 控制台的 Log groups page
(日志组页面)。 -
选择函数 (
/aws/lambda/myDurableFunction) 的日志组。 -
向下滚动,选择要查看的函数调用的日志流。
您应该能看到每次调用该函数时产生的日志条目,包括首次执行时的记录以及等待结束后进行的重放记录。
清理
使用完示例持久性函数后,请将其删除。您还可以删除存储函数日志的日志组以及控制台创建的执行角色。
删除 Lambda 函数
-
打开 Lamba 控制台的 Functions(函数)页面
。 -
选择您创建的函数。
-
依次选择操作和删除。
-
在文本输入字段中键入
confirm,然后选择删除。
删除日志组
-
打开 CloudWatch 控制台的 Log groups page
(日志组页面)。 -
选择函数的日志组 (
/aws/lambda/myDurableFunction)。 -
依次选择 Actions(操作)和 Delete log group(s)(删除日志组)。
-
在 Delete log group(s)(删除日志组)对话框中,选择 Delete(删除)。
删除执行角色
-
打开 Amazon Identity and Access Management (IAM) 控制台的 Roles page
(角色页面)。 -
选择函数的执行角色(例如
myDurableFunction-role-)。31exxmpl -
选择删除。
-
在删除角色对话框中,输入角色名称,然后选择删除。
其他资源和后续步骤
现在,您已经使用控制台创建并测试了一个简单的持久性函数,请继续执行以下后续步骤: