为什么Azure runbook webhook URI为空



我使用ARM模板在Azure中的第二个订阅中部署逻辑应用程序,该应用程序需要在第一个订阅中触发对runbook的webhook URL的POST。

我在ARM模板中使用了对webhook URL对象的完全引用,但不幸的是,尽管没有错误,逻辑应用程序最终还是使用了一个空URI。

对webhook的引用看起来像:

"RunbookWebHook": {
"type": "string",
"defaultValue": "/subscriptions/----/resourceGroups/RunbookResources/providers/Microsoft.Automation/automationAccounts/RunbookAutomationAccount/webhooks/RunbookWebhook"
},

逻辑应用程序中webhook URI的引用示例:

"actions": {
"Runbook_Webhook": {
"runAfter": {},
"type": "Http",
"inputs": {
"headers": {
"operationName": "@{triggerBody()['data']['operationName']}",
"resourceId": "@triggerBody()?['subject']"
},
"method": "POST",
"uri":  "[reference(parameters('RunbookWebHook'), '2015-10-31').uri]"
}
}

如何获得webhook URI的正确URL?

这是因为Azure中对Webhook URL的限制。

在MicroSoft文档中:https://learn.microsoft.com/en-us/azure/automation/automation-webhooks#webhook-属性

它提到URL属性(实际上是uri字段(,并显示:

webhook的URL。这是客户端使用HTTPPOST调用的唯一地址,用于启动链接到webhook的runbook。它是在您创建webhook时自动生成的。不能指定自定义URL。

URL包含一个安全令牌,该令牌允许第三方系统调用runbook,而无需进一步的身份验证。因此,您应该像对待密码一样对待URL。出于安全原因,您只能在创建webhook时查看Azure门户中的URL。请将URL记在安全位置以备将来使用。

因此创建后无法进一步检索URL。:(