检测到的验证错误:值AT at'输出'无法满足约束AWS步骤功能

发布于 2025-02-13 18:56:01 字数 2343 浏览 2 评论 0原文

我的有效负载是这样的,并使用Python代码有效载荷发送它是:

in_data = {"output": json.dumps({"Payload": {"execution_id": execution_id}}), "taskToken": task_token}
data = requests.post(url , json=in_data )
print( data.json() )

我的步骤功能代码如下:

当我发送到我的sendtasksuccess步骤时,它给我这个错误,

"body-json": {
        "__type": "com.amazon.coral.validate#ValidationException",
        "message": "2 validation errors detected: Value at 'output' failed to satisfy constraint: Member must not be null; Value null at 'taskToken' failed to satisfy constraint: Member must not be null"
    },
other-keys-here
}

请指导我可以指导什么请发出问题。

编辑

我的步骤功能看起来像这样,它在状态1等待FOT任务令牌。我正在尝试发送任务令牌并获得错误

{
  "StartAt": "process",
  "States": {
    "on-demand-scan-pre-process": {
      "Next": "source-scan-metadata-extraction",
      "Retry": [
        {
          "ErrorEquals": [
            "Lambda.ServiceException",
            "Lambda.AWSLambdaException",
            "Lambda.SdkClientException"
          ],
          "IntervalSeconds": 2,
          "MaxAttempts": 6,
          "BackoffRate": 2
        }
      ],
      "Type": "Task",
      "OutputPath": "$.Payload",
      "Resource": "arn:aws:states:::lambda:invoke.waitForTaskToken",
      "Parameters": {
        "FunctionName": "arn:aws:lambda:us-west-2:arn:function:process-new",
        "Payload": {
          "payload.$": "$",
          "execution_id.$": "$$.Execution.Id",
          "taskToken.$": "$$.Task.Token"
        }
      }
    },
    "metadata-extraction": {
      "Next": "Done",
      "Retry": [
        {
          "ErrorEquals": [
            "Lambda.ServiceException",
            "Lambda.AWSLambdaException",
            "Lambda.SdkClientException"
          ],
          "IntervalSeconds": 2,
          "MaxAttempts": 6,
          "BackoffRate": 2
        }
      ],
      "Type": "Task",
      "OutputPath": "$.Payload",
      "Resource": "arn:aws:states:::lambda:invoke",
      "Parameters": {
        "FunctionName": "arn:aws:lambda:us-west-2:arn:function:metadata-extraction",
        "Payload": {
          "payload.$": "$",
          "execution_id.$": "$$.Execution.Id",
          "taskToken.$": "$$.Task.Token"
        }
      }
    },
    "Done": {
      "Type": "Succeed"
    }
  }
}

My payload is something like this and sending it using python code payload is :

in_data = {"output": json.dumps({"Payload": {"execution_id": execution_id}}), "taskToken": task_token}
data = requests.post(url , json=in_data )
print( data.json() )

my step function code look like this :

and when I am sending to my SendTaskSuccess step it is giving me this error

"body-json": {
        "__type": "com.amazon.coral.validate#ValidationException",
        "message": "2 validation errors detected: Value at 'output' failed to satisfy constraint: Member must not be null; Value null at 'taskToken' failed to satisfy constraint: Member must not be null"
    },
other-keys-here
}

kindly guide what could be issue please.

EDIT

my step function look like this and It's waiting in state 1 and waiting fot task token . I am trying to send task token and getting error

{
  "StartAt": "process",
  "States": {
    "on-demand-scan-pre-process": {
      "Next": "source-scan-metadata-extraction",
      "Retry": [
        {
          "ErrorEquals": [
            "Lambda.ServiceException",
            "Lambda.AWSLambdaException",
            "Lambda.SdkClientException"
          ],
          "IntervalSeconds": 2,
          "MaxAttempts": 6,
          "BackoffRate": 2
        }
      ],
      "Type": "Task",
      "OutputPath": "$.Payload",
      "Resource": "arn:aws:states:::lambda:invoke.waitForTaskToken",
      "Parameters": {
        "FunctionName": "arn:aws:lambda:us-west-2:arn:function:process-new",
        "Payload": {
          "payload.
quot;: "
quot;,
          "execution_id.
quot;: "$.Execution.Id",
          "taskToken.
quot;: "$.Task.Token"
        }
      }
    },
    "metadata-extraction": {
      "Next": "Done",
      "Retry": [
        {
          "ErrorEquals": [
            "Lambda.ServiceException",
            "Lambda.AWSLambdaException",
            "Lambda.SdkClientException"
          ],
          "IntervalSeconds": 2,
          "MaxAttempts": 6,
          "BackoffRate": 2
        }
      ],
      "Type": "Task",
      "OutputPath": "$.Payload",
      "Resource": "arn:aws:states:::lambda:invoke",
      "Parameters": {
        "FunctionName": "arn:aws:lambda:us-west-2:arn:function:metadata-extraction",
        "Payload": {
          "payload.
quot;: "
quot;,
          "execution_id.
quot;: "$.Execution.Id",
          "taskToken.
quot;: "$.Task.Token"
        }
      }
    },
    "Done": {
      "Type": "Succeed"
    }
  }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文