微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

排队AWS Step Function执行的最佳方法是什么?

如何解决排队AWS Step Function执行的最佳方法是什么?

我正在通过Node应用程序中的Express路线触发步进功能。此步骤功能与以太坊区块链交互,因此高度异步。如果一次尝试多次,交易也可能失败。

正因为如此,我想将这一步函数的执行排队,但是奇怪的是,似乎没有一种直接的方法

做到这一点的最佳方法是什么?

解决方法

您可以在步功能中使用地图

Step功能提供内置方式,可针对给定数量的项目并行执行或一次执行。下面是一个示例:

"Validate-All": {
  "Type": "Map","InputPath": "$.detail","ItemsPath": "$.shipped","MaxConcurrency": 0,"Iterator": {
    "StartAt": "Validate","States": {
      "Validate": {
        "Type": "Task","Resource": "arn:aws:lambda:us-east-1:123456789012:function:ship-val","End": true
      }
    }
  },"ResultPath": "$.detail.shipped","End": true
}

您需要更改 MaxConcurrency = 1 的值,以便仅执行一次,并且将一直进行直到直到 InputPath 中的项目用完为止。 InputPath 应该是list,您可以在 InputPath 中将项目排队,然后启动状态机。

您可以阅读更多here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。