【问题标题】:how to trigger step function and get the status failed or success如何触发步骤功能并获得状态失败或成功
【发布时间】:2023-01-08 02:08:42
【问题描述】:

我已经能够使用 awscli 开始执行,但我需要能够知道何时完成或结果成功,然后才能进入管道中的下一步。

aws stepfunctions start-execution --state-machine-arn arn:aws:states:us-west-2:2xx244xxxx:stateMachine:SamplePipeOrchestration-ftpiles --name SamplePipeOrchestration-ftpiles --input {} --region us-west-2 --profile sampledev

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation devops


    【解决方案1】:

    你必须自己开发服务员在一个循环中迭代查询(例如每 10 秒)您的执行状态(例如使用 describe-execution 并检查完成是否成功。

    【讨论】:

    • 谢谢@Marcin,我查看了 stackoverflow,但没有找到一个很好的例子来检查状态。
    【解决方案2】:
    aws stepfunctions describe-execution --execution-arn arn:aws:states:*
    

    注意:运行启动执行后,您将获得执行 arn 作为输出。在 describe-execution 中使用该执行 arn 来获取步骤函数运行的状态。

    【讨论】:

      【解决方案3】:

      本质上,Step Functions 调用受 StartExecution 配额的约束。因此,这些是步骤:

      创建状态机和配置资源

      1. 打开 Step Functions 控制台并选择创建状态机。

      2. 选择示例项目,然后选择管理批处理作业。

      3. 选择 Next。显示 Deploy resources 页面,列出将创建的资源。

      4. 选择部署资源。

        另请注意:创建这些资源和相关 IAM 权限最多可能需要 10 分钟。当显示部署资源页面时,您可以打开堆栈 ID 链接以查看正在配置的资源。

        开始新的执行

        1. 在新建执行页面上,输入执行名称(可选),然后选择开始执行。

        2. (可选)要标识您的执行,您可以在名称框中为其指定一个名称。默认情况下,Step Functions 会自动生成一个唯一的执行名称。

          另请注意Step Functions 允许您创建包含非 ASCII 字符的状态机、执行和活动名称。这些非 ASCII 名称不适用于 Amazon CloudWatch。为确保您可以跟踪 CloudWatch 指标,请选择一个仅使用 ASCII 字符的名称。

          1. 或者,您可以转到 Step Functions 控制面板上新创建的状态机,然后选择新建执行。

          2. 执行完成后,您可以在可视化工作流上选择状态,并在步骤详细信息下浏览输入和输出。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-15
        • 1970-01-01
        • 1970-01-01
        • 2021-08-10
        • 2020-11-11
        • 2017-08-06
        • 1970-01-01
        • 2020-08-07
        相关资源
        最近更新 更多