gpt4 book ai didi

Azure 逻辑应用 : Change HTTP request body via condition

转载 作者:行者123 更新时间:2023-12-03 05:21:51 25 4
gpt4 key购买 nike

我目前正在开发一个 Azure 逻辑应用程序,它通过重复执行 HTTP POST 请求来导入数据。我的后端有一个可能不为 null 或为空的属性,因为我不想更改它,所以我尝试根本不在请求正文中包含该属性。

举个例子

{
"id": "1234-5678",
"value": @{variables('myId')}
}

仅当变量既不为 null 也不为空时才应包含在正文中。我尝试添加类似于

的表达式
if(not(variables('myId')), '', concat(',{"id":"1234-5678","value": ', variables('myId'), '},'))

请求正文使其更加动态,但现在它说正文不再有效(无效的 json)。还有什么我可以使用的吗?使用条件和多个不同的 HTTP 请求不是一个选项,因为我有多个值需要这种处理。

最佳答案

是的,首先添加它,然后使用 removeProperty 表达式周围的条件将其删除。您还可以使用 addProperty 方法,但我选择了前者。其实没关系。

将此定义加载到您的租户中,您将看到它起作用。

{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"Initialize_MyId": {
"inputs": {
"variables": [
{
"name": "MyId",
"type": "string"
}
]
},
"runAfter": {},
"type": "InitializeVariable"
},
"Initialize_New_Payload": {
"inputs": {
"variables": [
{
"name": "New Payload",
"type": "object",
"value": "@if(equals(variables('MyId'), ''), removeProperty(variables('Payload'), 'value'), variables('Payload'))"
}
]
},
"runAfter": {
"Initialize_Payload": [
"Succeeded"
]
},
"type": "InitializeVariable"
},
"Initialize_Payload": {
"inputs": {
"variables": [
{
"name": "Payload",
"type": "object",
"value": {
"id": "1234-5678",
"value": "@{variables('myId')}"
}
}
]
},
"runAfter": {
"Initialize_MyId": [
"Succeeded"
]
},
"type": "InitializeVariable"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {},
"triggers": {
"Recurrence": {
"evaluatedRecurrence": {
"frequency": "Month",
"interval": 3
},
"recurrence": {
"frequency": "Month",
"interval": 3
},
"type": "Recurrence"
}
}
},
"parameters": {}
}

作为一个基本示例,我有三个步骤......

  1. 创建一个变量来存储 MyId 的值
  2. 创建一个对象类型的变量,用于存储您在问题中提到的负载。
  3. 如果 MyId 的值为空,则使用条件删除 value 属性。

有问题的具体表达是...

if(equals(variables('MyId'), ''), removeProperty(variables('Payload'), 'value'), variables('Payload'))

Flow

结果空白

Result Blank

结果不为空

Result NOT Blank

关于Azure 逻辑应用 : Change HTTP request body via condition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71524557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com