监控数据库准备情况、S3 事件和粘合作业的 AWS Step Functions 中的条件等待?

问题描述

我有一个当前看起来像这样的步进函数

{
  "Comment": "RDS Step Functions","StartAt": "copyLatestSnapshot","States": {
    "copyLatestSnapshot": {
      "Type": "Task","Resource": "${aws_lambda_function.snapshot-copy.arn}","Next": "WaitTenMinutes"
    },"WaitTenMinutes": {
      "Type": "Wait","Seconds": 600,"Next": "ExportSnapshottoS3"
    },"ExportSnapshottoS3": {
      "Type": "Task","Resource": "${aws_lambda_function.snapshot-export.arn}","Next": "WaitFiftyMinutes"
    },

我想改变这个,而不是 WaitXXXMinutes 步骤我有一个事件驱动的方法,所以“等待步骤”监听某种事件并在实际发生时继续前进(或超时失败)事件发生在系统中。

我目前有以下事件示例:

即使我用有条件的等待来覆盖其中的一些也没关系。

请注意,我无法将 Lambda 用于这些等待,因为 Lambda 超时最长为 15 分钟,并且某些操作需要更长的时间。

解决方法

要启动工作流程,您可以配置触发状态机的 Cloudwatch Events 规则。以下步骤可以利用 Codebuild 项目验证各个状态,受超时配置限制