Configuración de las funcionalidades de la cuenta de Azure Cosmos DB for MongoDB

SE APLICA A: MongoDB

Las funcionalidades son características que se pueden agregar a la cuenta de API para MongoDB o también quitar de esta. Muchas de estas características afectan al comportamiento de la cuenta, por lo que es importante ser plenamente consciente del efecto que tienen las capacidades antes de habilitarlas o deshabilitarlas. De forma predeterminada, se establecen varias capacidades en la API para las cuentas de MongoDB y no se pueden cambiar ni quitar. Un ejemplo es la capacidad de EnableMongo. En este artículo se muestra cómo habilitar y deshabilitar una capacidad.

Requisitos previos

Funcionalidades disponibles

Capacidad Descripción Extraíble
DisableRateLimitingResponses Permite que la API de Mongo repita las solicitudes de limitación de velocidad en el servidor hasta llegar al valor definido para max-request-timeout
EnableMongoRoleBasedAccessControl Habilita la compatibilidad para la creación de usuarios o roles para el control de acceso basado en roles nativo de MongoDB. No
EnableMongoRetryableWrites Habilita la compatibilidad para el reintento de escrituras en la cuenta.
EnableMongo16MBDocumentSupport Habilita la compatibilidad con la inserción de documentos con un tamaño máximo de 16 MB. No
EnableUniqueCompoundNestedDocs Habilita la compatibilidad con índices compuestos y únicos en los campos anidados, siempre y cuando estos no sean una matriz. No
EnableTtlOnCustomPath Proporciona la capacidad de establecer un TTL personalizado en cualquier campo de una colección. No se admite establecer TTL en la propiedad de índice único parcial. 1 No
EnablePartialUniqueIndex Habilita la compatibilidad con un índice parcial único, lo que le permite disponer de más flexibilidad para especificar exactamente qué campos de los documentos quiere indexar. No
EnableUniqueIndexReIndex Habilita la compatibilidad con la reindexación de índices únicos para Cosmos DB para MongoDB RU. 1 No

Nota:

1 Esta funcionalidad no se puede habilitar en cuentas de Azure Cosmos DB for MongoDB con copia de seguridad continua.

Habilitación de una funcionalidad

  1. Recupere las funcionalidades de la cuenta mediante az cosmosdb show:

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

    Debería ver una sección de capacidades similar a la siguiente:

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

    Examine la funcionalidad predeterminada. En este ejemplo, la única capacidad que se establece es EnableMongo.

  2. Establezca la nueva funcionalidad en la cuenta de base de datos. La lista de capacidades debe incluir la lista de capacidades habilitadas previamente que quiera conservar.

    Solo se establecen capacidades con nombre explícito en su cuenta. Por ejemplo, si desea agregar la capacidad de DisableRateLimitingResponses al ejemplo anterior, use el comando az cosmosdb update con el parámetro --capabilities y enumere todas las capacidades que desea tener en su cuenta:

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

    Importante

    La lista de capacidades siempre debe especificar todas las que desea habilitar, de forma inclusiva. Esto incluye capacidades que ya están habilitadas para la cuenta que desea conservar. En este ejemplo, la capacidad de EnableMongo ya estaba habilitada, por lo que debe especificar tanto la capacidad de EnableMongo como la de DisableRateLimitingResponses.

    Sugerencia

    Si está usando PowerShell y se muestra un mensaje de error al usar el comando anterior, pruebe a usar un matriz de PowerShell para enumerar las capacidades:

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

Deshabilitación de una funcionalidad

  1. Recupere las funcionalidades de la cuenta mediante az cosmosdb show:

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

    Debería ver una sección de capacidades similar a la siguiente:

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

    Compruebe todas las capacidades que están establecidas actualmente. En este ejemplo, se establecen dos capacidades: EnableMongo y DisableRateLimitingResponses.

  2. Quite una de las capacidades de la cuenta de base de datos. La lista de capacidades debe incluir la lista de capacidades habilitadas previamente que quiera conservar.

    Solo se establecen capacidades con nombre explícito en su cuenta. Por ejemplo, si desea quitar la capacidad de DisableRateLimitingResponses, usaría el comando de az cosmosdb update y enumeraría la capacidad que desea conservar:

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

    Sugerencia

    Si está usando PowerShell y se muestra un mensaje de error al usar el comando anterior, pruebe a usar un matriz de PowerShell para enumerar las capacidades:

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

Pasos siguientes