【问题标题】:Why does azure arm template need both location and "locationName"?为什么 azure arm 模板既需要位置又需要“位置名称”?
【发布时间】:2020-04-13 15:34:31
【问题描述】:

我尝试使用门户生成的 Azure ARM 模板创建一个基本的非集群 Cosmos DB 实例。 使用模板和 Powershell 创建数据库没有问题。然而,让我感到奇怪的是 ARM 模板同时依赖于短位置代码(例如 ukwest)和显示名称(例如 UK West)

我本来希望 ARM 模板始终使用一种位置代码系统,即 ukwest。

从模板文件截屏

从参数文件截屏

这里的设计意图是什么?

谢谢

【问题讨论】:

  • 您必须询问 Azure 团队。这里没有人能回答这个问题。

标签: azure-devops azure-resource-manager arm-template


【解决方案1】:

其实这很容易回答@DanielMann :)

Locations 数组 - 是 cosmos db 应该自我复制的位置。因为在您的情况下它只有一个区域,所以没有多大意义,但是如果您有多个区域 - 这将是有道理的。而对于命名 - 他们可能选择称它为locationname,这样它就不会那么混乱了。

https://docs.microsoft.com/en-us/rest/api/cosmos-db-resource-provider/databaseaccounts/createorupdate#location
https://docs.microsoft.com/en-us/rest/api/cosmos-db-resource-provider/databaseaccounts/createorupdate

【讨论】:

  • 我理解locationName的意义。我的问题的更深层意图是为什么 ARM 模板不遵循一致的区域命名系统。我本来希望uaenorth 用于location 和locationName。但是,当我看到UAE North - 这打破了我的思维模式。
  • 你可以用uaenorth替换它,它会工作得很好。您也可以将两者都替换为uae north。你确实意识到那是一回事,对吧?
  • 是的。确实如此。如果我将 locationName 设置为 westus 或 West US ,我已经通过 PowerShell 进行了测试和 ARM 部署。这对我来说并不明显,因为从 Azure 门户生成的 ARM 模板对 parameters.json 文件中的 location 和 locationName 字段有不同的位置约定。谢谢。
猜你喜欢
  • 2019-07-11
  • 1970-01-01
  • 2020-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-30
  • 2017-04-16
  • 2014-03-26
相关资源
最近更新 更多