从外部PHP应用程序通过基本身份验证触发Azure WebJobs API


Triggering Azure WebJobs API over Basic Auth from external PHP app?

根据标题-我正在尝试从托管在Azure网站外部的自定义PHP部署应用程序触发Azure网站"触发"的WebJob。

多亏了我相信的Active Directory,我可以在浏览器中导航/api URL并获得JSON输出,而无需重新验证。例如,/app/triggeredwebjobs在浏览器中输出触发的WebJob信息(我在Azure Portal中设置的)。

我在我的PHP应用程序中已经达到了发送POST请求的程度,并且它使用基本的身份验证成功地进行了身份验证,但我在PHP应用程序中设置的每个/api URL都返回:

"No route registered for '/api/triggeredwebjobs/{webjobname}'"

其中{webjobname}是我为web作业自定义的名称,为了客户端的隐私而隐藏。每个URL都会返回这个信息,但如果我在浏览器中导航,只有当我导航到不存在的URL时,比如/api/bullahblah,我才会收到这个错误。

我已经设置了一个部署用户,它用来进行身份验证。。。我甚至使用部署用户登录了https://{azuresite}.scm.azurewebsites.net/basicauth,并成功地从浏览器中的每个/api页面获得了输出。

如果有帮助的话,我将使用Httpful.phar来处理HTTP请求。

非常感谢您抽出时间阅读并可能提供帮助。

一位同事帮我弄清了这件事——文档已经过时了。我在Kudu Github Repo上打开了一个问题,让他们审查一下:

https://github.com/projectkudu/kudu/issues/1466

为了解决这个问题的未来读者,在请求者应用程序中使用的正确URL是:

https://{yoursite}.sscm.azurewebsites.net/jobs/triggered/{jobname}/运行

祝你好运!