jsonpath - 如何使用jsonpath连接常量字符串

标签 jsonpath aws-step-functions

我有AWS步骤机,并且其中一个步骤用于使用SNS服务通知失败。我想从input json中选择一些元数据到传出消息中。所以我试图用jsonpath连接常量字符串,如下所示

"Notify Failure": {
      "Type": "Task",
      "Resource": "arn:aws:states:::sns:publish",
      "Parameters": {
        "Message.$": "A job submitted through Step Functions failed for document id $.document_id",
        "Subject":"Job failed",
        "TopicArn": "arn:aws:sns:us-west-2:xxxxxxx:xxxxxxxx"
      },
      "End": true
    }


其中document_id是输入json中的属性之一

但是,当我尝试保存状态机定义时,出现错误


您的ASL定义有问题,请仔细检查并尝试
再次,字段“ Message。$”的值必须是有效的JSONPath

最佳答案

通过$.concat($..prop)从AWS Step Functions文档supports String concatenation引用的JSONPath实现,但遗憾的是,当部署到AWS时,此方法不起作用,这表明AWS使用了不同的实现。

因此,无法在AWS中使用JSONPath进行字符串连接。

关于jsonpath - 如何使用jsonpath连接常量字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54262719/

相关文章:

mocha.js - Mocha Chai 检查 Json 响应是否包含特定属性

java - JSON Path 使用 JSON Path 从父对象和子对象中提取特定字段/数组

java - 使用 `jsonPath` 过滤掉包含空数组的元素的表达式

多个不同路径的 JSONPath 联合

json - 如何循环 json 输入 - aws 步骤函数/状态机

amazon-web-services - AWS Step Functions - 谷歌云平台有这样的解决方案吗?

amazon-web-services - AWS Step 函数可以异步运行 bash 脚本吗?

c# - 使用 JsonPath C# 获取/设置对象

amazon-web-services - 使用步骤函数跨区域调用 AWS Lambda

python - 在 AWS Step Function 状态机中,如何启用 JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS