我想评估 AWS Step 函数中 key 中的 jsonata 表达式。我试过这个:
{
"ApplicationId": "ID",
"SendUsersMessageRequest": {
"MessageConfiguration": {
"GcmMessage": {
"Action": "OPEN_APP",
"Title": "Order completed!",
"SilentPush": false,
"Sound": "default",
"Body": "Your order is completed successfully.",
"Data": {
"orderId": "{% $order.id.S %}",
"status": "COMPLETED"
}
}
},
"Users": {
"{% $order.userId.S %}": {}
}
}
}
表达式
{% $order.userId.S %}
未计算为实际值,而是将其作为字符串获取。我该如何解决这个问题,以便在键中评估实际值?
订购:
{
"order": {
"id": {
"S": "d7ea32bf-5dac-45a8-b924-b7752e7d8b09"
},
"userId": {
"S": "11fb0540-20d1-707a-ac85-dcfbe06bad57"
},
"status": {
"S": "COMPLETED"
}
}
}
预期输出:
{
"ApplicationId": "ID",
"SendUsersMessageRequest": {
"MessageConfiguration": {
"GcmMessage": {
"Action": "OPEN_APP",
"Title": "Order completed!",
"SilentPush": false,
"Sound": "default",
"Body": "Your order is completed successfully.",
"Data": {
"orderId": "d7ea32bf-5dac-45a8-b924-b7752e7d8b09",
"status": "COMPLETED"
}
}
},
"Users": {
"11fb0540-20d1-707a-ac85-dcfbe06bad57": {}
}
}
}
我相信你需要在
.
和 $
之间添加 order
,如下所示:
"{% $.order.userId.S %}": {}
链接到 JSONata Playground:https://jsonatastudio.com/playground/5d6a1a0b