Windows Azure角色可以检测角色所在的数据中心吗?

5 azure azure-role-environment

我们的Windows Azure角色需要以编程方式了解角色所在的数据中心.

我知道一个REST API(http://msdn.microsoft.com/en-us/library/ee460806.aspx)返回位置属性.如果我部署到,美国西部,REST API将West US作为位置属性返回.但是,如果我部署到美国任何地方,该物业是美国的任何地方.我想知道我们的角色所在的数据中心,即使位置属性是Anywhere US.

我问的原因是我们的角色需要从Windows Azure存储中下载一些数据.从同一数据中心下载数据的成本是免费的,但从不同数据中心下载数据的成本不是免费的.

Avk*_*han 1

这是一个很好的问题,我已经与不同的合作伙伴讨论过几次。根据我的理解,当你创建服务并提供你希望此服务定位的位置(“美国中南部”或“美国任何地方”)时,此信息存储在 Azure 订阅中特定于你的服务的 RDFE 服务器上。因此,当您选择“美国中南部”或“美国中北部”等固定位置时,实际部署到该位置的服务和确切位置将被存储,但是当您选择“美国任何地方”时,选择“南部中心”或“North Central”是在内部完成的,但是所选位置从未更新到与您的服务相关的 RDFE 服务器。

这就是为什么每当您尝试通过 SM API 或 Powershell 或任何其他方式获取与您的订阅中的服务相关的位置信息(即使在 Azure 门户上,它也被列为“美国任何地方”,因为该信息来自同一存储),您将准确获取您在服务创建过程中首先选择的内容。

只要您可以从 Windows Azure 团队发布的给定 IP 地址范围验证您的服务位置 IP 地址,@Sandrino 的想法就可以工作。