您似乎正在尝试通过 REST API 刷新 Azure 分析服务。
假设您已定义日期(或作为参数传递)
然后为日期创建临时变量,如下所示
现在您创建 until 循环,该循环迭代直到数组将具有您想要的天数长度。在本例 10 中,您可以将其作为参数传递。
您在这里看到的第一个表达式是
length(variables('Dates'))
追加到数组变量的表达式是
formatDateTime(addDays(variables('StartDate'), iterationIndexes('Until')),'yyyy-MM-dd')
然后简单地将body创建为
这里的表达式是
concat('{"partition": "Table_',join(variables('Dates'), '","table": "Table"},{"partition": "Table_'),'","table": "Table"}')
你的输出看起来像
{
"CommitMode": "transactional",
"MaxParallelism": 20,
"Objects": [
{"partition": "Table_2019-03-27","table": "Table"},
{"partition": "Table_2019-03-28","table": "Table"},
{"partition": "Table_2019-03-29","table": "Table"},
{"partition": "Table_2019-03-30","table": "Table"},
{"partition": "Table_2019-03-31","table": "Table"},
{"partition": "Table_2019-04-01","table": "Table"},
{"partition": "Table_2019-04-02","table": "Table"},
{"partition": "Table_2019-04-03","table": "Table"},
{"partition": "Table_2019-04-04","table": "Table"},
{"partition": "Table_2019-04-05","table": "Table"}
],
"RetryCount": 0,
"Type": "Full"
}
如果您想获得有关如何执行此操作的一般建议,我有一篇关于如何在此处的逻辑应用程序中执行此操作的文章
如果您想了解有关逻辑应用的更多信息,请查看我关于逻辑应用的视频系列
完整代码供参考
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"Initialize_Body": {
"inputs": {
"variables": [
{
"name": "body",
"type": "String",
"value": "{\n \"CommitMode\": \"transactional\",\n \"MaxParallelism\": 20,\n \"Objects\": [\n @{concat('{\"partition\": \"Table_',join(variables('Dates'), '\",\"table\": \"Table\"},{\"partition\": \"Table_'),'\",\"table\": \"Table\"}')}\n ],\n \"RetryCount\": 0,\n \"Type\": \"Full\"\n}"
}
]
},
"runAfter": {
"Until": [
"Succeeded"
]
},
"type": "InitializeVariable"
},
"Initialize_Start_Date": {
"inputs": {
"variables": [
{
"name": "StartDate",
"type": "String",
"value": "2019-03-27"
}
]
},
"runAfter": {},
"type": "InitializeVariable"
},
"Initialize_variable": {
"inputs": {
"variables": [
{
"name": "Dates",
"type": "Array",
"value": []
}
]
},
"runAfter": {
"Initialize_Start_Date": [
"Succeeded"
]
},
"type": "InitializeVariable"
},
"Until": {
"actions": {
"Append_to_array_variable": {
"inputs": {
"name": "Dates",
"value": "@formatDateTime(addDays(variables('StartDate'), iterationIndexes('Until')),'yyyy-MM-dd')"
},
"runAfter": {},
"type": "AppendToArrayVariable"
}
},
"expression": "@equals(length(variables('Dates')), 10)",
"limit": {
"count": 60,
"timeout": "PT1H"
},
"runAfter": {
"Initialize_variable": [
"Succeeded"
]
},
"type": "Until"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {},
"triggers": {
"manual": {
"inputs": {
"schema": {}
},
"kind": "Http",
"type": "Request"
}
}
}
}