首页 > 解决方案 > 如何在大型 StepFunction 调用中仅显示失败的步骤?

问题描述

当您运行包含许多步骤的 Step Functions 长时间运行调用(有时历史中的事件数为 1000 次)时,您可能会在控制台中遇到几页后的失败。我必须继续单击“加载更多”才能看到实际错误。

必须有更好的方法,你如何解决这个问题?

标签: amazon-web-servicesaws-cliaws-step-functions

解决方案


为了使这更容易,我们需要使用 AWS CLI。

首先,确保我们可以通过从 Web 控制台复制执行 ARN 并使用 CLI 显示执行详细信息来列出特定执行:

aws stepfunctions describe-execution --execution-arn <EXECUTION ARN>

回复应如下所示:

{
    "executionArn": "arn:aws:states:us-east-1:123456789012:execution:my-execution-id",
    "stateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:my-state-machine-name",
    "status": "FAILED",
    "startDate": "2021-10-28T08:31:04.138000+02:00",
    "stopDate": "2021-10-28T08:33:37.471000+02:00",
    "name": "my-execution-name",
    "input": "{\"foo\":\"bar\"}"
}

为了显示执行中的步骤,我们可以使用 CLI 列出执行历史。由于我们正在处理一个包含许多步骤的执行,因此将列表反转并将结果数量限制为更少(例如 5 个)是明智之举。

aws stepfunctions get-execution-history --reverse-order --max-items 5 --execution-arn <EXECUTION ARN>

这很可能会向您显示失败的步骤,因为它通常位于执行步骤的末尾。


推荐阅读