【Azure 应用服务】在App Service中新建WebJob时候遇见错误,不能成功创建新的工作任务 - LuBu0505/My-Code GitHub Wiki

问题描述

在Azure App Service界面上,添加新的Web Job(工作任务)时,一直添加失败。无详细错误提示,在App Service的Activity Logs(活动日志)中,根本没有添加失败的任何操作记录,这是什么情况呢?

Adding WebJob: Failed to add testwebjob01 image

问题解答

因为从错误返回窗口中没有任何的错误说明,并且App Service资源的活动日志中,没有任何记录。所以需要通过浏览器的开发者模式 ———> 网络日志中,查看在创建Web Job时候,是否成功发送出请求,请求是否又正确的响应。所以排查步骤为:

1:打开浏览器开发者模式(F12),查看网络请求。然后重新创建一个WebJob以复现问题。并查看网络请求中,所记录浏览器所发出的全部请求,查看是否又错误的结果结果,和查看浏览器Console的日志输出:

Network请求结果为: image

Console日志中输出:

Access to XMLHttpRequest at 'https://xxxxxx.scm.chinacloudsites.cn/api/triggeredwebjobs/testwebjob01' from 
origin 'https://portal.azure.cn' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: 
No 'Access-Control-Allow-Origin' header is present on the requested resource.
 **[error][WebJobsViewModel][createWebJob][failed] - Failed to add web job**

image

2:发现错误原因是:创建WebJob的请求所使用的App Service的Host(https://.scm.chinacloudsites.cn/api/triggeredwebjobs/testwebjob01)访问被拒绝(Error 403 - Forbidden),因为当前App Service启用了私有终结点(Private Endpoint),外面无法访问。

image

所以解决的办法是:

在启用Private Endpoint的内网中,寻找一台即可以访问公共网络,又可以访问内网的虚拟机(VM), 通过浏览器打开Azure门户(https://portal.azure.cn/),并重新创建WebJob,即可以成功!

参考资料

为 Azure Web 应用使用专用终结点:https://docs.azure.cn/zh-cn/app-service/networking/private-endpoint

若要在 Azure Web 门户中运行或执行函数,你必须具有直接网络访问权限,否则会收到 HTTP 403 错误。 换句话说,你的浏览器必须能够访问专用终结点,以便从 Azure Web 门户执行该函数。

【END】

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

分类: 【Azure 应用服务】

标签: Adding WebJob: Failed to add testwebjob01Private Endpoint的App ServiceFailed to add web jobapi/triggeredwebjobs/