我有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/