AWS Step Functions
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

任务计时器

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

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

注意

此示例项目实现 AWS Lambda 函数以发送 Amazon Simple Notification Service (Amazon SNS) 通知。您也可以直接从 Amazon 状态语言 发送 Amazon SNS 通知。请参阅 AWS 服务集成

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

  1. 打开 Step Functions 控制台,然后选择 Create a state machine (创建状态机)

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

    此时将显示状态机 CodeVisual Workflow

    
          任务计时器可视工作流。

    注意

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

  3. 选择 Create Sample Project

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

    • 一个 SendToSNS Lambda 函数

    • 一个 TaskTimerTopic Amazon SNS 主题

    注意

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

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

    { "topic": "arn:aws-cn: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 (步骤详细信息)

    
          任务计时器执行输出。