教程 2:使用 Lambda 函数定义第一个服务集成 - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

教程 2:使用 Lambda 函数定义第一个服务集成

在本教程中,您将了解如何为您的工作流定义第一个服务集成。您可以使用名为 Get credit limitTask 状态来调用 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 区域 相同。

  1. 在新选项卡或窗口中,打开 Lambda 控制台并创建一个名为 RandomNumberforCreditNode.js 16.x Lambda 函数。有关使用控制台创建 Lambda 函数的信息,请参阅《Amazon Lambda 开发人员指南》中的使用控制台创建 Lambda 函数

  2. 在该RandomNumberforCredit页面上,选择 index.mjs,然后将 “代码源” 区域中的现有代码替换为以下代码。

    export const handler = async function(event, context) { const credLimit = Math.floor(Math.random() * 10000); return (credLimit); };
  3. 函数概述部分中,复制 Lambda 函数的 Amazon 资源名称并将其保存在文本文件中。在为 Get credit limit 状态指定服务集成时,您将需要函数 ARN。以下是示例 ARN:

    arn:aws:lambda:us-east-2:123456789012:function:HelloWorld
  4. 选择部署,然后选择测试以便部署更改并查看 Lambda 函数的输出。

第 2 步:更新工作流 – 配置“获取信用额度”状态

在 Step Functions 控制台中,您将更新工作流,以便指定与 RandomNumberforCredit Lambda 函数(第 1 步中创建的函数)的服务集成。

  1. 打开 Step Functions 控制台窗口,其中应包含您在教程 1 中创建的工作流原型。

  2. 选择 Get credit limit 状态,然后在配置选项卡中执行以下操作:

    1. 对于集成类型,保留默认的优化选项。

      使用 Step Functions,您可以与其他人集成 Amazon Web Services 并在工作流程中对其进行编排。有关服务集成及其类型的更多信息,请参阅 与其他服务 Amazon Step Functions 一起使用

    2. 函数名称中,从下拉列表中选择 RandomNumberforCreditLambda 函数。

    3. 对于其余项目,保留默认选项。

  3. 保持此窗口处于打开状态,然后继续阅读下一个教程以进行后续操作。

注意

在本教程中,您学习了如何在工作流程的 Task 状态下与 Lambda 函数集成。您还可以通过指定服务名称和 API 调用,在Task状态下使用其他受支持的 Amazon SDK 集成,如以下语法所示:

arn:aws:states:::aws-sdk:serviceName:apiAction

有关更多信息,请参阅 与其他服务 Amazon Step Functions 一起使用

后续步骤

在下一个教程中,您将在工作流中实现条件逻辑。Step Functions 状态机中的条件逻辑的行为类似于大多数常见编程语言中的 if-else 语句。您将在工作流中使用条件逻辑,根据条件信息确定执行路径。