教程 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 开发工具包集成。

要为您的工作流定义第一个服务集成,请先创建一个 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. 对于函数名称,从下拉列表中选择 RandomNumberforCredit Lambda 函数。

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

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

注意

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

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

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

后续步骤

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