【问题标题】:Logic Apps variable in replace expression替换表达式中的逻辑应用变量
【发布时间】:2017-10-17 17:15:34
【问题描述】:

我有一个 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' 列输入:'模板语言表达式'replace('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,生存时间'。使用详情请查看https://aka.ms/logicexpressions。'。

【问题讨论】:

    标签: azure-logic-apps


    【解决方案1】:

    然后

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

    哪个有效

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

    【讨论】:

    • 你是在代码视图中写这个吗?您是否尝试过在设计器中使用表达式编辑器,它允许您在构建表达式时选择变量和标记。
    • 根据我的经验,在使用 Edge 和 Firefox 时,表达式编辑器和设计器在条件语句的第三个嵌套中失败了。这将我带到了代码视图。
    • 花括号的用途是什么?
    • 我只是在使用它们来设置在运行时被替换为值的查询参数。大括号不是必需的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 2016-07-08
    相关资源
    最近更新 更多