如何让Azure Logic App返回运行结果URL并写入数据库字段?
生成Azure逻辑应用运行结果URL的表达式方案
没问题,你可以用Azure逻辑应用的内置系统变量和表达式拼接出所需的运行结果URL,具体操作如下:
先获取固定的门户URL前缀:
https://portal.azure.com/#view/Microsoft_Azure_EMA/LogicAppsMonitorBlade/runid/拼接并编码运行ID的完整路径:利用系统变量获取订阅ID、资源组、工作流名称和当前运行ID,再对路径做URL编码,表达式如下:
uriComponent(concat('/', workflow()['subscriptionId'], '/resourceGroups/', workflow()['resourceGroupName'], '/providers/Microsoft.Logic/workflows/', workflow()['name'], '/runs/', workflow()['runId']))组合成完整URL:把前缀和编码后的路径拼在一起,最终表达式直接用在数据库写入的对应字段里即可:
concat('https://portal.azure.com/#view/Microsoft_Azure_EMA/LogicAppsMonitorBlade/runid/', uriComponent(concat('/', workflow()['subscriptionId'], '/resourceGroups/', workflow()['resourceGroupName'], '/providers/Microsoft.Logic/workflows/', workflow()['name'], '/runs/', workflow()['runId'])))
补充说明
workflow()是逻辑应用自带的系统对象,包含订阅ID、资源组、工作流名称等必要元数据;uriComponent()函数会将路径中的特殊字符转换为URL兼容格式,避免出现格式错误;- 运行时该表达式会自动替换为当前逻辑应用运行的实际结果URL,直接写入数据库即可。
内容的提问来源于stack exchange,提问作者MikeSteigerwald
相关产品推荐
相关产品推荐

