任务计时器(Lambda、Amazon SNS) - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

任务计时器(Lambda、Amazon SNS)

本示例项目将创建一个任务计时器。它实现了一个Amazon Step Functions状态机,它实现了Wait状态,并使用Amazon Lambda函数,该函数将发送 Amazon Simple Notification Service (Amazon SNS) 通知。Wait 状态是等待触发器执行单个工作单元的状态类型。

注意

本示例项目实现Amazon Lambda函数发送 Amazon Simple Notification Service (Amazon SNS) 通知。您也可以直接从 Amazon Simple Notification 发送 Amazon SNS 通知。请参阅 将 Amazon Step Functions 与其他服务一起使用

本示例项目将创建一台状态机、Lambda 函数和 Amazon SNS 主题,并将配置相关Amazon Identity and Access Management(IAM) 权限。有关使用 Task Timer 示例项目创建的资源的更多信息,请参阅下面内容:

有关 Amazon Step Functions 如何控制其他 Amazon 服务的更多信息,请参阅将 Amazon Step Functions 与其他服务一起使用

要创建 Task Timer 状态机并预置所有资源,请执行以下操作

  1. 打开Step Functions 控制台,然后选择创建状态机

  2. 选择 Sample Projects (示例项目),然后选择 Task Timer

    此时将显示状态机 Code (代码)Visual Workflow (可视工作流程)

    
          任务计时器可视工作流。
    注意

    此状态机中的 Code (代码) 部分引用将为此示例项目创建的 Amazon 资源。

  3. 选择 Create Sample Project (创建示例项目)

    此时将显示 Create Project Resources (创建项目资源) 页面,其中列出了将创建的资源。对于本示例项目,资源包括:

    • 一个 SendToSNS Lambda 函数

    • 任务计时器主题 Amazon SNS 主题

    注意

    创建这些资源和相关 IAM 权限可能需要长达 10 分钟的时间。当 Create Project Resources (创建项目资源) 页面显示 Creating resources (正在创建资源) 时,您可打开 Stack ID: (堆栈 ID:) 链接以查看正在预置的资源。

    完成后,将显示 New execution (新执行) 页面,示例输入类似于以下内容。

    { "topic": "arn:aws:sns:us-east-2:123456789012:StepFunctionsSample-TaskTimer-517b8680-e0ad-07cf-feee-65aa5fc63ac0-SNSTopic-96RHT77RAKTS", "message": "HelloWorld", "timer_seconds": 10 }
  4. 选择 Start Execution (开始执行)

    此时将启动新的状态机执行,并显示一个说明正在运行的执行的新页面。

  5. (可选) 在 Execution Details 部分中,选择 Info 以查看 Execution Status 以及 StartedClosed 时间戳。

  6. 要查看执行中每个步骤的状态、输入或输出,请在 Visual workflow (可视工作流) 中选择步骤并查看 Step details (步骤详细信息)

    
          任务计时器执行输出。