gpt4 book ai didi

azure - Azure WorkerRole 可以检测到它所在的位置吗?

转载 作者:行者123 更新时间:2023-12-03 01:58:09 24 4
gpt4 key购买 nike

我的问题的意思是:是否可以检测辅助角色部署在哪个数据中心?我正在尝试以编程方式确定我的辅助角色是否位于北美和欧洲 Azure 数据中心,以便连接到位于同一地理位置的数据库。

比如有没有环境变量?或者也许我可以根据公共(public) IP 地址获取此信息?我愿意接受任何替代方案。

我问这个问题的原因是因为我想在北美数据中心部署完全相同的辅助角色,并在欧盟和最终亚太地区部署它,但我希望该角色连接到最近的数据库。我试图避免必须在 .CFG 中手动指定连接字符串,因为我担心有一天有人会将代码部署到 EU 并忘记调整连接字符串。我的目标是让所有连接字符串都出现在 .CFG 中,并且我的辅助角色足够聪明,能够根据其位置选择合适的连接字符串。

最佳答案

是的,但您必须使用服务管理 API。要在没有任何配置设置的情况下执行此操作,您需要首先枚举托管服务,然后为每个调用获取托管服务属性 (http://msdn.microsoft.com/en-us/library/ee460806.aspx)。您需要将 RoleEnvironment 中的 DeploymentId 与此响应中的 PrivateId 相匹配。这会告诉您正在运行哪个托管服务。在同一个响应中还有位置。

现在,有一个更简单的方法。只需将值放入 ServiceConfiguration 中,并根据部署的不同而有所不同!

关于azure - Azure WorkerRole 可以检测到它所在的位置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6373942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com