检查运行Azure环境的环境

时间:2019-03-10 23:41:27

标签: azure azure-functions

我需要检查正在运行哪种环境(本地或Azure,Azure Functions)。

下面是基于thisthis的代码

var isLocal = string.IsNullOrEmpty(GetEnvironmentVariable("WEBSITE_INSTANCE_ID")

这是文档功能还是稳定功能?

如果没有,还有其他选择吗?

天蓝色函数2.x

VS 2017

1 个答案:

答案 0 :(得分:1)

Azure App Service设置一些环境变量,其中包含有关在Azure上运行的Web App / Function App的信息。

  • WEBSITE_SITE_NAME -网站名称。
  • WEBSITE_SKU -网站的sku(可能的值:免费,共享,基本,标准)。
  • WEBSITE_COMPUTE_MODE -指定网站是位于专用VM还是共享VM(可能的值:Shared,Dedicated)上。
  • WEBSITE_HOSTNAME -网站的Azure网站的主要主机名(例如:site.azurewebsites.net)。请注意,此处不考虑自定义主机名。
  • WEBSITE_INSTANCE_ID -代表站点正在运行的VM的ID(如果站点在多个实例上运行,则每个实例将具有不同的ID)。
  • WEBSITE_NODE_DEFAULT_VERSION -该网站使用的默认节点版本。
  • WEBSOCKET_CONCURRENT_REQUEST_LIMIT -Websocket并发请求的限制。

您可以使用WEBSITE_INSTANCE_ID来获取托管您的Function App的实例的ID

public static class TestFunction
    {
        [FunctionName("TestFunction")]
        public static void Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, ILogger log)
        {
            log.LogInformation(Environment.GetEnvironmentVariable("WEBSITE_INSTANCE_ID"));
        }
    }

参考:https://github.com/projectkudu/kudu/wiki/Azure-runtime-environment#environment