使用从嵌套 Step Function 返回的输出 JSON 数据

mbr*_*g02 8 amazon-web-services aws-step-functions

我创建了一个带有嵌套 Step Functions (SF) 的 POC,并遇到了以下问题。

  • 我有一个 SF A,它有一个同步任务,它开始执行 SF B(使用最近宣布的语法)并等待它完成。
  • SF B 返回有效的 JSON 输出
  • 在SF A 中,我可以看到(从调用SF B 的任务的输出)返回的正确字段。例如状态、ExecutionArn 以及输出。
  • 然后我想在 SF A 中执行一个使用从 SF B 返回的字段的选择任务。 但是,从 SF B 返回的输出字段中的 json 是转义的 json,因此 jsonPath 无法从输出数据中提取字段来自嵌套的json。

对于这种情况,我缺少什么或推荐的方法吗?我可以在 lambda 或其他东西中“处理”转义的 json 字符串,但在选择任务中使用它......但这有点违背了嵌套 SF 工作流程的要点。

任何帮助表示赞赏。

Gna*_*rik 5

自从您提出问题以来,不确定它是新的,但答案在您提供的链接中:在任务资源字段中使用“arn:aws:states:::states:startExecution.sync:2”而不是“arn:aws:states” :::状态:startExecution.sync"

状态输出类型表


cat*_*yeh 2

我遇到了同样的问题。我首先使用 "OutputPath": "$.Output" 并返回转义的 json。我删除了它并添加了 "ResultPath": "$.Output",这有效,它以 json 形式返回输出,包括转义版本。目前还可以,直到 AWS 解决这个问题。