在逻辑应用程序中将数组转换为字符串变量
Convert array to string variable in Logic App
使用 Logic App 将数组转换为字符串变量(同时保留所有换行符)的最快方法是什么?下面是我的定义,它读取每个数组并附加到一个字符串变量,工作正常但不是最有效的。我的想法是,然后我可以从最终输出创建一个 BLOB,而无需 ["..."]
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"For_each": {
"actions": {
"Append_to_string_variable": {
"inputs": {
"name": "Result String",
"value": "@concat(substring(items('For_each'), 0, sub(length(items('For_each')), 0)), '\r\n')"
},
"runAfter": {},
"type": "AppendToStringVariable"
}
},
"foreach": "@variables('CSV Content')",
"runAfter": {
"Initialize_Result_String": [
"Succeeded"
]
},
"runtimeConfiguration": {
"concurrency": {
"repetitions": 1
}
},
"type": "Foreach"
},
"Initialize_Result_String": {
"inputs": {
"variables": [
{
"name": "Result String",
"type": "string"
}
]
},
"runAfter": {
"Initialize_variable": [
"Succeeded"
]
},
"type": "InitializeVariable"
},
"Initialize_variable": {
"inputs": {
"variables": [
{
"name": "CSV Content",
"type": "array",
"value": [
"Header1,Header2",
"Data1,Data2",
"Data3,Data4"
]
}
]
},
"runAfter": {},
"type": "InitializeVariable"
},
"Initialize_variable_2": {
"inputs": {
"variables": [
{
"name": "Final Result",
"type": "string",
"value": "@variables('Result String')"
}
]
},
"runAfter": {
"For_each": [
"Succeeded"
]
},
"type": "InitializeVariable"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {},
"triggers": {
"manual": {
"inputs": {},
"kind": "Http",
"type": "Request"
}
}
},
"parameters": {}
}
基本上我正在寻找一种转换数组的方法
[
"Header1,Header2",
"Data1,Data2",
"Data3,Data4"
]
到一个字符串
Header1,Header2
Data1,Data2
Data3,Data4
其中一个解决方法是使用 Join
连接器,它连接数组中的每个项目。这是我的逻辑应用程序的屏幕截图
结果:-
在存储帐户中:-
下面是我的逻辑应用程序的代码视图
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"Create_blob_(V2)": {
"inputs": {
"body": "@body('Join')",
"headers": {
"ReadFileMetadataFromServer": true
},
"host": {
"connection": {
"name": "@parameters('$connections')['azureblob']['connectionId']"
}
},
"method": "post",
"path": "/v2/datasets/@{encodeURIComponent(encodeURIComponent('AccountNameFromSettings'))}/files",
"queries": {
"folderPath": "/container1",
"name": "sample1",
"queryParametersSingleEncoded": true
}
},
"runAfter": {
"Join": [
"Succeeded"
]
},
"runtimeConfiguration": {
"contentTransfer": {
"transferMode": "Chunked"
}
},
"type": "ApiConnection"
},
"Initialize_variable": {
"inputs": {
"variables": [
{
"name": "CSV Content",
"type": "array",
"value": [
"Header1,Header2",
"Data1,Data2",
"Data3,Data4"
]
}
]
},
"runAfter": {},
"type": "InitializeVariable"
},
"Join": {
"inputs": {
"from": "@variables('CSV Content')",
"joinWith": "\n"
},
"runAfter": {
"Initialize_variable": [
"Succeeded"
]
},
"type": "Join"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {
"$connections": {
"defaultValue": {},
"type": "Object"
}
},
"triggers": {
"manual": {
"inputs": {},
"kind": "Http",
"type": "Request"
}
}
},
"parameters": {
"$connections": {
"value": {
"azureblob": {
"connectionId": "/subscriptions/<Your_Subscription_Id>/resourceGroups/<Your_ResourceGroup>/providers/Microsoft.Web/connections/azureblob",
"connectionName": "azureblob",
"id": "/subscriptions/<Your_Subscription_Id>/providers/Microsoft.Web/locations/northcentralus/managedApis/azureblob"
}
}
}
}
}
使用 Logic App 将数组转换为字符串变量(同时保留所有换行符)的最快方法是什么?下面是我的定义,它读取每个数组并附加到一个字符串变量,工作正常但不是最有效的。我的想法是,然后我可以从最终输出创建一个 BLOB,而无需 ["..."]
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"For_each": {
"actions": {
"Append_to_string_variable": {
"inputs": {
"name": "Result String",
"value": "@concat(substring(items('For_each'), 0, sub(length(items('For_each')), 0)), '\r\n')"
},
"runAfter": {},
"type": "AppendToStringVariable"
}
},
"foreach": "@variables('CSV Content')",
"runAfter": {
"Initialize_Result_String": [
"Succeeded"
]
},
"runtimeConfiguration": {
"concurrency": {
"repetitions": 1
}
},
"type": "Foreach"
},
"Initialize_Result_String": {
"inputs": {
"variables": [
{
"name": "Result String",
"type": "string"
}
]
},
"runAfter": {
"Initialize_variable": [
"Succeeded"
]
},
"type": "InitializeVariable"
},
"Initialize_variable": {
"inputs": {
"variables": [
{
"name": "CSV Content",
"type": "array",
"value": [
"Header1,Header2",
"Data1,Data2",
"Data3,Data4"
]
}
]
},
"runAfter": {},
"type": "InitializeVariable"
},
"Initialize_variable_2": {
"inputs": {
"variables": [
{
"name": "Final Result",
"type": "string",
"value": "@variables('Result String')"
}
]
},
"runAfter": {
"For_each": [
"Succeeded"
]
},
"type": "InitializeVariable"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {},
"triggers": {
"manual": {
"inputs": {},
"kind": "Http",
"type": "Request"
}
}
},
"parameters": {}
}
基本上我正在寻找一种转换数组的方法
[
"Header1,Header2",
"Data1,Data2",
"Data3,Data4"
]
到一个字符串
Header1,Header2
Data1,Data2
Data3,Data4
其中一个解决方法是使用 Join
连接器,它连接数组中的每个项目。这是我的逻辑应用程序的屏幕截图
结果:-
在存储帐户中:-
下面是我的逻辑应用程序的代码视图
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"Create_blob_(V2)": {
"inputs": {
"body": "@body('Join')",
"headers": {
"ReadFileMetadataFromServer": true
},
"host": {
"connection": {
"name": "@parameters('$connections')['azureblob']['connectionId']"
}
},
"method": "post",
"path": "/v2/datasets/@{encodeURIComponent(encodeURIComponent('AccountNameFromSettings'))}/files",
"queries": {
"folderPath": "/container1",
"name": "sample1",
"queryParametersSingleEncoded": true
}
},
"runAfter": {
"Join": [
"Succeeded"
]
},
"runtimeConfiguration": {
"contentTransfer": {
"transferMode": "Chunked"
}
},
"type": "ApiConnection"
},
"Initialize_variable": {
"inputs": {
"variables": [
{
"name": "CSV Content",
"type": "array",
"value": [
"Header1,Header2",
"Data1,Data2",
"Data3,Data4"
]
}
]
},
"runAfter": {},
"type": "InitializeVariable"
},
"Join": {
"inputs": {
"from": "@variables('CSV Content')",
"joinWith": "\n"
},
"runAfter": {
"Initialize_variable": [
"Succeeded"
]
},
"type": "Join"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {
"$connections": {
"defaultValue": {},
"type": "Object"
}
},
"triggers": {
"manual": {
"inputs": {},
"kind": "Http",
"type": "Request"
}
}
},
"parameters": {
"$connections": {
"value": {
"azureblob": {
"connectionId": "/subscriptions/<Your_Subscription_Id>/resourceGroups/<Your_ResourceGroup>/providers/Microsoft.Web/connections/azureblob",
"connectionName": "azureblob",
"id": "/subscriptions/<Your_Subscription_Id>/providers/Microsoft.Web/locations/northcentralus/managedApis/azureblob"
}
}
}
}
}