Azure 流量管理器支持 Azure Function Apps

Azure Traffic Manager support with Azure Function Apps

我正在尝试使用 Azure 流量管理器 (GTM) 在地理上将负载分配给每个区域中的函数应用程序。

我尝试添加 'app service endpoint' 和 'external endpoint'(包括将 GTM 名称作为自定义 CNAME 添加到函数应用程序),但两者都会导致 "Error 404 - Web app not found."。自定义 CNAME 也永远不会正确添加。

根据对此 post 的最后评论,现在应该支持执行此操作的能力:

由于我是新用户,我无法对 post 发表评论。

I have tried adding an 'app service endpoint' and an 'external endpoint' (including adding the GTM name as a custom CNAME to the function app)

Azure Traffic Manager 只能与 'Standard' 级别或更高级别的应用服务一起使用,如 here 所述。如果您的函数未托管在 'Standard' 级别或更高级别的应用程序计划中,Azure 流量管理器将无法运行。

如果您没有使用 'Standard' 或更高级别的应用计划,Azure Functions Proxies 将是您的解决方法。请查看以下讨论类似问题的线程。

这是 Dakota Kincer 提供的答案的快速参考。

所以在Traffic manager不支持Azure functions之后我得到的答案是整体构建3个Azure functions。我构建了一个 East 和一个 West,上面有我的 azure 函数代码。然后我构建了一个具有 0 代码的主要 Azure 函数。它只有 Azure 代理,可以路由到我的其他 2 个 Azure Functions。该路由由代理字符串中的变量控制,该变量在主要 API 应用程序设置中有帮助。使用 %myvariable% 可以设置 url 的一部分。当我需要发布时,我将变量切换到辅助 URL 位置。更新主要位置,然后将 URL 切换到其原始主要位置。在将流量管理器集成到功能中或出现更好的解决方案之前,这必须暂时有效。

I am unable to comment back on the post as I am a new user.

如果您想提供更多信息,可以修改您的post。

流量管理器支持 Azure 函数监控。您可以通过转到 TM 设置 -> 端点 -> 添加端点 -> 选择 Azure endpoint 类型 -> App Service 作为目标资源类型 -> 在目标资源下选择要监视的函数应用程序来启用此功能。

您很可能希望能够访问特定域域下的功能应用程序,例如 my-domain.com。为此,在自定义 Header 设置下指定 host:my-domain.com。您还需要在函数应用程序配置中设置自定义域。