我正在尝试检索Instance Id& Azure WebJob的进程ID。如下面的快照中所示,我想检索正在运行的InstanceId。
我也想要检索WebJob的ProcessId。 使用C#代码可以检索这两个值吗?
提前感谢您的帮助。
答案 0 :(得分:1)
环境变量" WEBSITE_INSTANCE_ID"包含实例ID。在你的截图中,字符串" e582f3"是完整id的缩写。
[09/08/2017 21:00:53 > be313b: INFO] [21:00:45 INF] Instance: RD00155DF9356E (be313b15729ccddadf6ea48a522d9456e23cc0abf82e5180e3997118fae84fe3)
这是我写的一个日志条目,打印出环境变量" COMPUTERNAME"和" WEBSITE_INSTANCE_ID"。您可以看到 be313b 实际上是完整ID be313b15729ccddadf6ea48a522d9456e23cc0abf82e5180e3997118fae84fe3 的前六位数。
如果您想查看所有可用的变量,请转到您的Kudu控制台,然后点击"环境":https://your-appservice.scm.azurewebsites.net/Env.cshtml
对于进程ID,我认为您可以像在其他任何地方一样致电Process.GetCurrentProcess().Id
。
我希望这有用!
答案 1 :(得分:1)
每个网络应用的实例都有自己的实例ID。它将在其Web应用程序服务器中另存为环境变量。
要获取当前的WebJobs实例ID,请使用environment-variable(WEBSITE_INSTANCE_ID)。
实例ID表示运行该站点的VM(如果站点在多个实例上运行,则每个实例将具有不同的ID)
您可以参考以下代码了解更多详情:
image = response.css('script::text').re('image:\s*"(.*?)",')[0]
file = response.css('script::text').re('"file":"(.*?)",')[0].replace('\\', '')

有关获取ProcessId和InstanceId的更多详细信息和示例,请参阅此blogpost。
正如Kenneth LeFebvre所提到的,您还可以使用Kudu控制台“环境”选项卡来检查实例和进程ID。