检查Azure函数在什么环境中运行
我需要检查什么环境,本地或Azure,Azure功能正在运行 下面是基于和的代码 这是记录在案的功能,还是稳定的功能 如果没有,还有其他选择吗 Azure功能2.x检查Azure函数在什么环境中运行,azure,azure-functions,Azure,Azure Functions,我需要检查什么环境,本地或Azure,Azure功能正在运行 下面是基于和的代码 这是记录在案的功能,还是稳定的功能 如果没有,还有其他选择吗 Azure功能2.x VS 2017Azure应用程序服务使用有关在Azure上运行的Web应用程序/功能应用程序的信息设置一些环境变量 网站\站点\名称-站点名称 网站\u SKU网站的SKU(可能值:免费、共享、基本、标准) 网站\u计算\u模式-指定网站是在专用虚拟机上还是在共享虚拟机上(可能的值:共享、专用) 网站\u主机名-Azure网站的主
VS 2017Azure应用程序服务使用有关在Azure上运行的Web应用程序/功能应用程序的信息设置一些环境变量
- 网站\站点\名称-站点名称
- 网站\u SKU网站的SKU(可能值:免费、共享、基本、标准)
- 网站\u计算\u模式-指定网站是在专用虚拟机上还是在共享虚拟机上(可能的值:共享、专用)
- 网站\u主机名-Azure网站的主要主机名(例如:site.azurewebsites.net)。请注意,这里不考虑自定义主机名
- 网站\u实例\u ID-表示站点运行的VM的ID(如果站点在多个实例上运行,则每个实例将具有不同的ID)
- 网站\u节点\u默认\u版本此网站正在使用的默认节点版本
- WEBSOCKET\u并发请求\u限制WEBSOCKET并发请求的限制
您可以使用
WEBSITE\u INSTANCE\u ID
获取托管功能应用程序的实例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"));
}
}
参考资料:最简单的事情不是设置自己的环境变量吗?设置自己的环境变量是可行的,但如果内置功能支持它,它会更好。如何更好?设置您自己的意味着您可以保证不发生任何破坏性的更改
网站\u实例\u ID
看起来是一个相当可靠的选择,但是,问题仍然存在,这不是一个保证。使用它来表示您正在Azure env(非本地)中运行是切实可靠的。事实上,Kudu(Scm站点)正是这样使用的。看见
public static class TestFunction
{
[FunctionName("TestFunction")]
public static void Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, ILogger log)
{
log.LogInformation(Environment.GetEnvironmentVariable("WEBSITE_INSTANCE_ID"));
}
}