本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程 2:使用 Lambda 函数定义第一个服务集成
在本教程中,您将了解如何为您的工作流定义第一个服务集成。您可以使用名为 Get credit limit 的 Task
状态来调用 Lambda 函数。在Task
各州内,你可以使用 Step Functions 支持的 Amazon SDK 集成。
要为您的工作流定义第一个服务集成,请先创建一个 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 一起使用。
-
在函数名称中,从下拉列表中选择 RandomNumberforCreditLambda 函数。
-
对于其余项目,保留默认选项。
-
-
保持此窗口处于打开状态,然后继续阅读下一个教程以进行后续操作。
注意
在本教程中,您学习了如何在工作流程的 Task
状态下与 Lambda 函数集成。您还可以通过指定服务名称和 API 调用,在Task
状态下使用其他受支持的 Amazon SDK 集成,如以下语法所示:
arn:aws:states:::aws-sdk:
serviceName
:apiAction
有关更多信息,请参阅 与其他服务 Amazon Step Functions 一起使用。
后续步骤
在下一个教程中,您将在工作流中实现条件逻辑。Step Functions 状态机中的条件逻辑的行为类似于大多数常见编程语言中的 if-else 语句。您将在工作流中使用条件逻辑,根据条件信息确定执行路径。