替换表达式中的逻辑应用变量

时间:2017-10-17 17:15:34

标签: azure-logic-apps

我有一个逻辑应用程序实例,其变量AddedPoKey设置为已解析的JSON

                            "Set_PO_Key_variable_": {
                            "inputs": {
                                "name": "AddedPoKey",
                                "value": "@{body('Parse_JSON')?['poKey']}"
                            },
                            "runAfter": {
                                "Parse_JSON": [
                                    "Succeeded"
                                ]
                            },
                            "type": "SetVariable"
                        },

我想使用该值在RESTful API集合资源中设置Id。我无法让它工作,但我确信它应该。我可能没有找到关于此的最佳MS文档,如果有任何可以指出给我,我将不胜感激。我试过了:

                            "Set_Po_Lin_Add_url_": {
                            "inputs": {
                                "name": "CreatePoLineResourceUrl",
                                "value": "@{replace('https://api.plex.com/EDI/sales-orders/{PoKey}/lines','{PoKey}',triggerBody()['AddedPoKey'])}"
                            },
                            "runAfter": {
                                "Set_PO_Key_variable_": [
                                    "Succeeded"
                                ]
                            },
                            "type": "SetVariable"
                        }

导致InvalidTemplate。无法在行'Set_Po_Lin_Add_url_'输入第1行和第'2459行'处理模板语言表达式:'模板语言表达式'替换('https://api.plex.com/EDI/sales-orders/ {PoKey} / lines','{PoKey}', triggerBody()['AddedPoKey'])'无法求值,因为属性'AddedPoKey'不存在,可用属性为'ContentData,ContentType,ContentTransferEncoding,Properties,MessageId,To,ReplyTo,ReplyToSessionId,Label,ScheduledEnqueueTimeUtc,SessionId,CorrelationId ,SequenceNumber,LockToken,TimeToLive'。有关使用详情,请参阅https://aka.ms/logicexpressions。'。

1 个答案:

答案 0 :(得分:0)

然后

"@{replace('https://api.plex.com/EDI/sales-orders/{PoKey}/lines','{PoKey}',variables('AddedPoKey')}"

有效

请注意,https://aka.ms/logicexpressions是我的主要参考资料,但此时页面上甚至没有“变量”一词。