本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程 2:使用 Lambda 函数定义第一个服务集成
在本教程中,您将了解如何为您的工作流定义第一个服务集成。您可以使用名为 Get credit limit 的 Task
状态来调用 Lambda 函数。在 Task
状态内,您可以使用 Step Functions 支持的 Amazon 开发工具包集成。
要为您的工作流定义第一个服务集成,请先创建一个 Lambda 函数。然后,更新您的工作流,以便指定与 Lambda 函数的服务集成。本教程中使用的 Lambda 函数返回一个随机生成的整数,表示申请人申请的信用额度。
第 1 步:创建并测试 Lambda 函数
您可以在 Amazon Web Services Management Console或常用的编辑器中为该函数编写代码。在以下步骤中,您将创建名为 RandomNumberforCredit
的 Node.js Lambda 函数。
重要
确保您在教程 1 中创建的工作流原型与您将在本教程中创建的 Lambda 函数处在同一个 Amazon Web Services 区域下。
-
在新选项卡或窗口中,打开 Lambda 控制台
并创建一个名为 RandomNumberforCredit
的 Node.js 16.x Lambda 函数。有关使用控制台创建 Lambda 函数的信息,请参阅《Amazon Lambda 开发人员指南》中的使用控制台创建 Lambda 函数。 -
在 RandomNumberforCredit 页面上,选择 index.mjs,然后将代码源区域中已有的代码替换为以下代码。
export const handler = async function(event, context) { const credLimit = Math.floor(Math.random() * 10000); return (credLimit); };
-
在函数概述部分中,复制 Lambda 函数的 Amazon 资源名称并将其保存在文本文件中。在为 Get credit limit 状态指定服务集成时,您将需要函数 ARN。以下是示例 ARN:
arn:aws:lambda:us-east-2:123456789012:function:
HelloWorld
-
选择部署,然后选择测试以便部署更改并查看 Lambda 函数的输出。
第 2 步:更新工作流 – 配置“获取信用额度”状态
在 Step Functions 控制台中,您将更新工作流,以便指定与 RandomNumberforCredit
Lambda 函数(第 1 步中创建的函数)的服务集成。
-
打开 Step Functions 控制台
窗口,其中应包含您在教程 1 中创建的工作流原型。 -
选择 Get credit limit 状态,然后在配置选项卡中执行以下操作:
-
对于集成类型,保留默认的优化选项。
使用 Step Functions,您可以与其他 Amazon Web Services集成,并在工作流中对其进行编排。有关服务集成及其类型的更多信息,请参阅 与其他服务 Amazon Step Functions 一起使用。
-
对于函数名称,从下拉列表中选择 RandomNumberforCredit Lambda 函数。
-
对于其余项目,保留默认选项。
-
-
保持此窗口处于打开状态,然后继续阅读下一个教程以进行后续操作。
注意
在本教程中,您学习了如何在工作流程的 Task
状态下与 Lambda 函数集成。您还可以在 Task
状态中使用其他受支持的 Amazon 开发工具包集成,方法是指定服务名称和 API 调用,如下语法所示:
arn:aws:states:::aws-sdk:
serviceName
:apiAction
有关更多信息,请参阅与其他服务 Amazon Step Functions 一起使用。
后续步骤
在下一个教程中,您将在工作流中实现条件逻辑。Step Functions 状态机中的条件逻辑的行为类似于大多数常见编程语言中的 if-else 语句。您将在工作流中使用条件逻辑,根据条件信息确定执行路径。