【问题标题】:Is it possible to create a CompositeIndex of CosmosDB with ARM template是否可以使用 ARM 模板创建 CosmosDB 的 CompositeIndex
【发布时间】:2019-10-21 01:44:22
【问题描述】:

我找到了使用 ARM 模板创建或更改 CosmosDB 的说明,但没有一个包含有关如何将 CompositeIndex 添加到模板的说明。我也听说模板中不支持它,必须使用 PowerShell 或 Azure CLI 脚本来完成,但在网上找不到支持的内容。有人可以解释一下吗?

【问题讨论】:

标签: azure indexing azure-cosmosdb azure-resource-manager


【解决方案1】:

我没有对此进行测试,但根据 Microsoft.DocumentDB 资源提供程序文档/模板参考,有一个 Microsoft.DocumentDB/databaseAccounts/apis/databases/containers 资源可以满足您的需求。

每个容器在模板架构中都有一个 IndexingPolicy,它有一个 IncludedPath 对象数组,这些对象本身有一个 Index 对象数组作为如下:

        "includedPaths": [
          {
            "path": "string",
            "indexes": [
              {
                "dataType": "string",
                "precision": "integer",
                "kind": "string"
              }
            ]
          }
        ]

它完全被视为独立于数据库/帐户的资源。您可能希望使用适当的 dependsOn 值将此资源添加到您的模板中,以确保它在您的数据库之后部署。

您可以添加多个路径,从而创建一个复合索引。

完整架构在这里:

https://docs.microsoft.com/en-us/azure/templates/microsoft.documentdb/2015-04-08/databaseaccounts/apis/databases/containers

如果不这样做,您可能也想看看这个,因为架构文档可能已经过时并且可能支持复合索引:

https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-manage-indexing-policy#composite-indexing-policy-examples

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 2015-05-15
  • 2019-02-22
  • 2018-12-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多