在运行时获取 Azure WebApp/WebSite 名称

Get Azure WebApp/WebSite name at runtime

我有一个名为 myapp.azurewebsites.net 的 WebApp,还有一个名为 myapp-failover.azurewebsites.net 的故障转移。它使用 DNS 和流量管理器,因此该站点实际上是 www.mysite.com。

我不想检查我是否在主站点或故障转移上 运行,最简单的方法是尽可能检查 myapp.azurewebsites.net 名称。有可能得到这个吗?

有许多环境变量可以帮助您识别您 运行 所在的机器实例以及您 运行 所在的区域。识别它们的最简单方法是从 https://myapp.scm.azurewebsites.net/Env 登录站点的 Kudu 控制台(这使用 OAuth,因此如果您已经登录门户,您将直接通过)。

您将看到:

REGION_NAME - 站点所在区域的名称
WEBSITE_INSTANCE_ID - 站点的 ARR 亲和性 Cookie
WEBSITE_SITE_NAME - 站点名称(域名前缀)
WEBSITE_HOSTNAME - 站点的主机名

还有更多!

编辑

如果您正在使用 Node.js 或 PHP,您可以在此处按照这些 instructions 通过相应的语言环境变量检索机制访问这些变量。

如果您使用的是 .NET,则可以将它们视为应用程序设置:

ConfigurationManager.AppSettings["Key"]