【问题标题】:StepFunctionsLocal does not accept $$ parameterStepFunctionsLocal 不接受 $$ 参数
【发布时间】:2022-06-16 11:13:52
【问题描述】:

正如 here 所记录的,AWS 状态机定义语法允许使用 $$.Map.Item.Value 在映射状态迭代内从更高范围访问属性:

{
  "StartAt": "ExampleMapState",
  "States": {
    "ExampleMapState": {
      "Type": "Map",
      "Parameters": {
               "ContextValue.$": "$$.Map.Item.Value"
             },
      "Iterator": {
         "StartAt": "TestPass",
         "States": {
           "TestPass": {
             "Type": "Pass",    
             "End": true
           }
         }
      },
      "End": true
    }
  }
} 

但是,当使用 StepFunctionsLocal(Java 和 Docker 版本)运行时,此示例定义本身会引发 SCHEMA_VALIDATION_FAILED 错误:

SCHEMA_VALIDATION_FAILED: The value for the field 'ContextValue.$' must be a valid JSONPath or a valid intrinsic function call at /States/ExampleMapState/Parameters

是我遗漏了什么还是 StepFunctionsLocal 中的错误?

【问题讨论】:

  • 这不是一个有效的 JSON。请验证您的 JSON 结构 HERE 。您需要正确映射它们。
  • @RanadipDutta,是什么让您认为它不是有效的 JSON?这与 AWS 文档中的示例完全相同:docs.aws.amazon.com/step-functions/latest/dg/… 在地图状态的上下文对象数据标题下。
  • 如果您签入 json 验证器,我粗略注意到还有一个额外的数组索引,但可能是我错了。不过,不是来争辩什么的。请随时再次检查。
  • @RanadipDutta,如果 JSON 无效,StepFunctionsLocal 会引发 INVALID_JSON_DESCRIPTION 异常。这里的问题是别的:SCHEMA_VALIDATION_FAILED

标签: aws-step-functions aws-state-machine


【解决方案1】:

检查您的脚本以确保您已正确转义双 $$

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-31
    • 2018-03-16
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多