【问题标题】:How to know if an Azure function is running in a slot如何知道 Azure 函数是否在插槽中运行
【发布时间】:2017-09-06 22:21:44
【问题描述】:

函数能否知道它是否在插槽中运行?

如果在“暂存”槽中,我想阻止执行某个函数。

更新

根据 Bruce 的回答(再次感谢好友),我写了那篇博文 http://www.frankysnotes.com/2017/09/how-to-know-when-azure-function-is.html

【问题讨论】:

  • 我已经很晚了,但是如果您要禁用某个功能,您可以使用应用设置,请参阅docs.microsoft.com/en-us/azure/azure-functions/disable-function。要禁用特定插槽中的功能,您可以让此应用设置插槽设置。无需在函数中编写任何代码或检查任何环境变量即可实现此目的。

标签: azure azure-functions azure-deployment-slots


【解决方案1】:

函数能否知道它是否在插槽中运行?

根据我的理解,您可以检查代码中的 APPSETTING_WEBSITE_SLOT_NAME 环境变量,当您的函数处于生产状态时,该值将是 Production,而当您的函数处于生产状态时,该值将是插槽名称在一个槽下如下:

对于 C#,您可以利用以下代码检索此变量:

System.Environment.GetEnvironmentVariable("APPSETTING_WEBSITE_SLOT_NAME", EnvironmentVariableTarget.Process);

另外,对于 F#,您可以参考 here,对于 JavaScript,您可以参考 here

【讨论】:

  • 太棒了,这就是我要找的。​​span>
  • 这个环境变量似乎不再存在了:(
  • 截至该日期,环境变量为“WEBSITE_SLOT_NAME”。
  • 截至目前,我可以在 Kudu 中看到 APPSETTING_WEBSITE_SLOT_NAMEWEBSITE_SLOT_NAME 变量
猜你喜欢
  • 2013-03-05
  • 2014-05-20
  • 1970-01-01
  • 2013-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-11
相关资源
最近更新 更多