Можно ли создать CompositeIndex для CosmosDB с помощью шаблона ARM - PullRequest
0 голосов
/ 21 октября 2019

Я нашел инструкции по использованию шаблонов ARM для создания или внесения изменений в CosmosDB, но ни один из них не содержит инструкций о том, как добавить CompositeIndex в шаблон. Я также слышал, что он не поддерживается в шаблоне и должен выполняться с помощью скрипта командной строки PowerShell или Azure, но не смог найти в сети вспомогательный контент. Может кто-нибудь, пожалуйста, пролить свет на это?

1 Ответ

0 голосов
/ 21 октября 2019

Я не проверял это, но согласно справочнику docs / template поставщика ресурсов Microsoft.DocumentDB существует ресурс Microsoft.DocumentDB / databaseAccounts / apis / database / container, который может дать вам то, что вам нужно.

Каждый контейнер имеет IndexingPolicy в схеме шаблона, который имеет массив IncludedPath объектов, которые сами имеют массив Index объектов следующим образом:

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

Он рассматривается как отдельный ресурс от базы данных / учетной записи в целом. Возможно, вы захотите добавить этот ресурс в свой шаблон с соответствующим значением depenOn, чтобы обеспечить его развертывание после вашей базы данных.

Вы можете добавить несколько путей, создавая составной индекс.

Полная схема здесь:

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

...