首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >States.StringToJson函数的选择

States.StringToJson函数的选择
EN

Stack Overflow用户
提问于 2022-09-11 17:06:03
回答 1查看 344关注 0票数 1

有一种方法可以直接处理States.StringToJson整数函数的结果。

目前,在step函数中,我尝试处理来自另一个同步步骤函数调用的错误:

代码语言:javascript
复制
 "OtherStepFunction": {
        "Type": "Task",
        "Resource": "arn:aws:states:::states:startExecution.sync:2",
        "Parameters": {
          "StateMachineArn": "otherstepFunctionCall",
          "Input.$": "$"
        },
        "End": true,
        "Catch": [
          {
            "ErrorEquals": [
              "States.ALL"
            ],
            "Comment": "OtherStepFunctionFailed",
            "Next": "StatusStepFunctionFailed",
            "ResultPath": "$.error"
          }
        ]
      },

所有错误都在名为StatusStepFunctionFailed的pass流中进行,错误输出在$.error路径中。

$.error由错误类型和作为escapedJson字符串的原因组成。

代码语言:javascript
复制
"error": {
   "Error": "States.TaskFailed",
   "Cause": "{\"ExecutionArn\":\"otherfunctionarm:executionid\",\"Input\":\"foooooo\"}"
 }

有任何方法只从这个输入中提取ExecutionARN吗?在我的pass步骤中,我将原因路径转换为json,但是我没有找到直接选择ExectionARN部件的方法。以下内容如下:

代码语言:javascript
复制
"reason.$": "States.JsonMerge($.error.Cause).ExecutionArn"

返回The value for the field 'reason.$' must be a valid JSONPath or a valid intrinsic function call (at /States/HandleResource/Iterator/States/StatusStepFunctionFailedHandleJSON/Parameters)

我目前的解决办法是使用2通流,首先转换输出,然后形成。

EN

回答 1

Stack Overflow用户

发布于 2022-11-28 20:19:53

我也有过类似的问题。

我所做的是创建一个任务,使用StringToJSON将原因放入新的path参数中。我将该任务作为下一个错误,然后从该错误调用后续任务。

使用变量名称和值:

在捕获中,将下一个从StatusStepFunctionFailed更改为parseErrorCause

那么parseErrorCause是这样的:

代码语言:javascript
复制
"parseErrorCause": {
      "Type": "Pass",
      "Parameters": {
        "Result.$": "States.StringToJson($.error.Cause)"
      },
      "ResultPath": "$.parsedJSON",
      "Next": "StatusStepFunctionFailed"
    },

和StatusStepFunctionFailed访问

代码语言:javascript
复制
"Variable": "$.parsedJSON.Result.Input",

去找富多

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73681134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档