我找到了一个让我大部分时间到达那里的答案;您可以将请求的 Uri 设置为list(resourceId('Microsoft.Web/sites/config', variables('webSiteName'), 'publishingcredentials'), '2016-08-01').properties.scmUri
. 您还需要连接路径的其余部分(例如/api/triggeredwebjobs/{webjobname}/run
)
上述代码生成的 Uri 包括基本身份验证凭据,并且在某些时候进行了解析,用户名和密码从 Uri 中取出,因此它们在 Azure 门户中不可见,并且身份验证设置为“基本” ,并且凭据设置为提取的值。
但是,我的 Uri 在末尾附加了查询字符串以将参数传递到 webjob。在部署过程中,查询字符串被破坏(问号被转义为%3F
,如果您的参数值中有任何转义字符,它们将被转义。
我设法通过将字符串连接在一起以构成 Uri(不使用该scmUri
属性),然后设置该authentication
属性(该属性的兄弟)来解决此问题uri
,如下所示
"authentication": {
"type": "Basic",
"username": "[list(resourceId('Microsoft.Web/sites/config', variables('webSiteName'), 'publishingcredentials'), '2016-08-01').properties.publishingUserName]",
"password": "[list(resourceId('Microsoft.Web/sites/config', variables('webSiteName'), 'publishingcredentials'), '2016-08-01').properties.publishingPassword]"
}