Dai*_*Dai 6 azure azure-web-app-service
我想知道如何获取 Azure 应用服务插槽已加载到其中的“插槽实例”的唯一标识符。
请注意,我不是指插槽的名称。
例如:
然后,我从 Azure 门户执行 Slot Swap 操作:
app.azurewebsites.net并突然开始接收app-staging.azurewebsites.net.app-staging.azurewebsites.net并突然开始接收app.azurewebsites.net.为了调查我遇到的一些问题,我在D:\home\SlotName.txt. 在“App”插槽中,我输入了“SlotA”,在“App-Staging”插槽中,我输入了“SlotB”。
SlotName.txt与应用程序实例一起移动,并允许我的应用程序检测它所在的文件系统或“容器”实例 - 这在执行插槽交换时不会改变。SlotName.txt文件似乎是一个 hack - 但是我在应用程序实例的环境变量中看不到任何显示相同信息的信息。
这是来自 Production 和 Staging 插槽的两个 Kudu Environment 页面 - 请注意,这些值要么相同(如Machine name)、特定于插槽,要么指代已部署的应用程序代码,并且它们都没有指代它们所在的文件系统/容器实例:
有没有办法在不使用我的SlotName.txt技巧的情况下获得这些信息?
答案就藏在我眼皮子底下——还有不同的术语。
我所说的“插槽实例名称”实际上是指“部署 ID”(我知道这是一个重载的术语,因为它也用在 Azure(现在是旧版)“云服务”PaaS 的上下文中)。
此信息在 Kudu 环境页面中可见,并且也作为环境变量公开:WEBSITE_DEPLOYMENT_ID。
该WEBSITE_DEPLOYMENT_ID值的形式为{SiteName}[__{Random}],__{Random}第一个部署空间省略前缀。
如果您仔细查看我发布的屏幕截图,您会发现左侧屏幕截图具有站点插槽名称,Site1__e928而右侧屏幕截图具有“第一个”插槽空间,因此其名称只是Site1。
不幸的是,微软没有公开记录此信息 - 至少就 Google 而言是这样(现在搜索该术语会产生零有用的相关结果):
谜团已揭开!
| 归档时间: |
|
| 查看次数: |
1819 次 |
| 最近记录: |