Поделиться через


Настройка возможностей учетной записи Azure Cosmos DB for MongoDB

Область применения: MongoDB

Возможностями здесь называются функции, которые можно добавить в учетную запись API для MongoDB или удалить из нее. Многие из этих функций влияют на поведение учетной записи, поэтому важно полностью учитывать влияние возможности перед включением или отключением. Несколько возможностей задаются в учетных записях API для MongoDB по умолчанию и не могут быть изменены или удалены. Одним из примеров EnableMongo является возможность. В этой статье показано, как включить и отключить возможность.

Необходимые компоненты

Доступные возможности

Возможность Description Удаляемый
DisableRateLimitingResponses Позволяет API Mongo повторять запросы, ограничивающие частоту на стороне сервера, пока не задано max-request-timeoutзначение. Да
EnableMongoRoleBasedAccessControl Включите поддержку создания пользователей и ролей для собственного управления доступом на основе ролей MongoDB. No
EnableMongoRetryableWrites Включает поддержку повторных операций записи в учетной записи. Да
EnableMongo16MBDocumentSupport Обеспечивает поддержку вставки документов размером до 16 МБ. 1 No
EnableUniqueCompoundNestedDocs Включает поддержку составных и уникальных индексов в вложенных полях, если вложенное поле не является массивом. No
EnableTtlOnCustomPath Предоставляет возможность задать настраиваемое время жизни (TTL) в любом поле коллекции. Параметр TTL для частичного уникального свойства индекса не поддерживается. 2 No
EnablePartialUniqueIndex Обеспечивает поддержку уникального частичного индекса, поэтому у вас есть больше гибкости, чтобы указать точно, какие поля в документах требуется индексировать. No
EnableUniqueIndexReIndex Включает поддержку повторного индексирования уникальных индексов для Cosmos DB для MongoDB RU. 2 No

Примечание.

1 Эта возможность не может быть включена в учетных записях Azure Cosmos DB для MongoDB с ключами, управляемыми клиентом (CMK).

Примечание.

2 Эта возможность не может быть включена в учетных записях Azure Cosmos DB для MongoDB с непрерывным резервным копированием.

Внимание

Изменение возможностей с помощью Azure Resource Manager недоступно для учетных записей Azure Cosmos DB для MongoDB.

Включение возможности

  1. Получите существующие возможности учетной записи с помощью az cosmosdb show:

    az cosmosdb show \
        --resource-group <azure_resource_group> \
        --name <azure_cosmos_db_account_name>
    

    Вы увидите раздел возможностей, аналогичный следующему примеру выходных данных:

    "capabilities": [
      {
        "name": "EnableMongo"
      }
    ]
    

    Просмотрите возможность по умолчанию. В этом примере используется EnableMongoединственная возможность, которая задана.

  2. Задайте новую возможность для учетной записи базы данных. Список возможностей должен содержать список ранее включенных возможностей, которые требуется сохранить.

    В вашей учетной записи задаются только явные именованные возможности. Например, если вы хотите добавить DisableRateLimitingResponses возможность в предыдущий пример, используйте команду az cosmosdb update с --capabilities параметром и перечислите все возможности, которые требуется использовать в вашей учетной записи:

    az cosmosdb update \
        --resource-group <azure_resource_group> \
        --name <azure_cosmos_db_account_name> \
        --capabilities EnableMongo DisableRateLimitingResponses
    

    Внимание

    Список возможностей всегда должен указывать все возможности, которые вы хотите включить, включительно. Сюда входят возможности, которые уже включены для учетной записи, которую вы хотите сохранить. В этом примере возможность уже включена, поэтому необходимо указать как возможность, EnableMongo так EnableMongo и DisableRateLimitingResponses возможность.

    Совет

    Если вы используете PowerShell и появится сообщение об ошибке при использовании предыдущей команды, попробуйте использовать массив PowerShell для перечисления возможностей:

    az cosmosdb update \
        --resource-group <azure_resource_group> \
        --name <azure_cosmos_db_account_name> \
        --capabilities @("EnableMongo","DisableRateLimitingResponses")
    

Отключение возможности

  1. Получение существующих возможностей учетной записи с помощью az cosmosdb show:

    az cosmosdb show \
        --resource-group <azure_resource_group> \
        --name <azure_cosmos_db_account_name>
    

    Вы увидите раздел возможностей, аналогичный следующему примеру выходных данных:

    "capabilities": [
      {
        "name": "EnableMongo"
      },
      {
        "name": "DisableRateLimitingResponses"
      }
    ]
    

    Проверьте все возможности, которые в настоящее время заданы. В этом примере задаются две возможности: EnableMongo и DisableRateLimitingResponses.

  2. Удалите одну из возможностей из учетной записи базы данных. Список возможностей должен содержать список ранее включенных возможностей, которые требуется сохранить.

    В вашей учетной записи задаются только явные именованные возможности. Например, если вы хотите удалить DisableRateLimitingResponses эту возможность, вы будете использовать az cosmosdb update команду и перечислите возможность, которую вы хотите сохранить:

    az cosmosdb update \
        --resource-group <azure_resource_group> \
        --name <azure_cosmos_db_account_name> \
        --capabilities EnableMongo
    

    Совет

    Если вы используете PowerShell и при использовании этой команды появится сообщение об ошибке, попробуйте использовать массив PowerShell для перечисления возможностей:

    az cosmosdb update \
        --resource-group <azure_resource_group> \
        --name <azure_cosmos_db_account_name> \
        --capabilities @("EnableMongo")
    

Следующие шаги