似乎在主要执行中,子女执行中的任何错误都被状态覆盖。 我的SFN执行仅显示超过toveratefailurethreshold,无论孩子工作流程出现什么错误。 当不使用分布式模式时,这不是问题。
Task1Map:
Type: Map
MaxConcurrency: 50
ResultPath: null
Next: Task1TypeChoice
ItemReader:
ReaderConfig:
InputType: JSON
Resource: arn:aws:states:::s3:getObject
Parameters:
Bucket.$: $.map_parameters_bucket
Key.$: $.map_parameters_key
ItemProcessor:
ProcessorConfig:
Mode: DISTRIBUTED
ExecutionType: STANDARD
StartAt: someTask
States:
someTask:
Type: Task
Resource: arn:aws:states:::batch:submitJob.sync
ResultPath: null
Parameters:
JobDefinition.$: $.some_task_job_definition
(...)
Catch:
- ErrorEquals: ["States.ALL"]
ResultPath: $.error
我遇到了这个完全相同的问题,我找不到写这篇文章的解决方案。
$ states.ErtorOutput不会返回任何有用的东西。直到AWS实施一种在分布式地图状态内引用变量的方法,我们就不幸了。