Configurer vos fonctionnalités de compte d’Azure Cosmos DB for MongoDB

S’APPLIQUE À : MongoDB

Les fonctionnalités peuvent être ajoutées ou supprimées à votre compte d’API pour MongoDB. Nombre de ces fonctionnalités affectent le comportement du compte. Il est donc important d’être pleinement conscient de l’effet d’une fonctionnalité avant de l’activer ou de la désactiver. Plusieurs fonctionnalités sont définies dans l’API pour les comptes MongoDB par défaut et ne peuvent pas être modifiées ou supprimées. La fonctionnalité EnableMongo en est un exemple. Cet article explique comment activer et désactiver une fonctionnalité.

Prérequis

Fonctionnalités disponibles

Fonctionnalité Description Amovible
DisableRateLimitingResponses Permet à l’API Mongo de réessayer les requêtes de limitation de débit côté serveur jusqu’à la valeur définie pour max-request-timeout. Oui
EnableMongoRoleBasedAccessControl Activez la prise en charge de la création d’utilisateurs et de rôles pour le contrôle d’accès en fonction du rôle MongoDB natif. Non
EnableMongoRetryableWrites Active la prise en charge des écritures renouvelables sur le compte. Oui
EnableMongo16MBDocumentSupport Active la prise en charge de l’insertion de documents dont la taille est inférieure ou égale à 16 Mo. Non
EnableUniqueCompoundNestedDocs Permet la prise en charge des index composés et uniques sur des champs imbriqués si le champ imbriqué n’est pas un tableau. Non
EnableTtlOnCustomPath Permet de définir une durée de vie (TTL) personnalisée pour n’importe quel champ d’une collection. La configuration de la propriété de ligne de code partiellement exécutée sur un index unique partiel n’est pas prise en charge. 1 Non
EnablePartialUniqueIndex Permet la prise en charge d’un index partiel unique, ce qui vous offre une plus grande flexibilité pour spécifier exactement les champs des documents que vous souhaitez indexer. Non
EnableUniqueIndexReIndex Active la prise en charge de la réindexation d’index unique pour les unités de requête Cosmos DB pour MongoDB. 1 Non

Remarque

1 Cette fonctionnalité ne peut pas être activée sur un compte Azure Cosmos DB for MongoDB avec une sauvegarde continue.

Activer une fonctionnalité

  1. Récupérez vos fonctionnalités de compte existantes en utilisant az cosmosdb show :

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

    Vous devriez voir apparaître une section de fonctionnalités similaire à l’exemple suivant :

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

    Passez en revue la fonctionnalité par défaut. Dans cet exemple, la seule fonctionnalité définie est EnableMongo.

  2. Définissez la nouvelle fonctionnalité sur votre compte de base de données. La liste des fonctionnalités doit inclure la liste des fonctionnalités précédemment activées que vous souhaitez conserver.

    Seules les fonctionnalités nommées explicitement sont définies sur votre compte. Par exemple, si vous souhaitez ajouter la fonctionnalité DisableRateLimitingResponses à l’exemple précédent, utilisez la commande az cosmosdb update avec le paramètre --capabilities et répertoriez toutes les fonctionnalités que vous souhaitez avoir dans votre compte :

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

    Important

    La liste des fonctionnalités doit toujours spécifier toutes les fonctionnalités que vous souhaitez activer, inclusivement. Cela inclut les fonctionnalités déjà activées pour le compte que vous souhaitez conserver. Dans cet exemple, la fonctionnalité EnableMongo étant déjà activée, vous devez spécifier la fonctionnalité EnableMongo et la fonctionnalité DisableRateLimitingResponses.

    Conseil

    Si vous utilisez PowerShell et qu’un message d'erreur s’affiche lorsque vous utilisez la commande précédente, essayez plutôt d’utiliser un tableau PowerShell pour répertorier les fonctionnalités :

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

Désactiver une fonctionnalité

  1. Récupérez vos fonctionnalités de compte existantes en utilisant az cosmosdb show :

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

    Vous devriez voir apparaître une section de fonctionnalités similaire à l’exemple suivant :

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

    Vérifiez toutes les fonctionnalités qui sont actuellement définies. Dans cet exemple, deux fonctionnalités sont définies : EnableMongo et DisableRateLimitingResponses.

  2. Supprimez l’une des fonctionnalités de votre compte de base de données. La liste des fonctionnalités doit inclure la liste des fonctionnalités précédemment activées que vous souhaitez conserver.

    Seules les fonctionnalités nommées explicitement sont définies sur votre compte. Par exemple, si vous souhaitez supprimer la fonctionnalité DisableRateLimitingResponses, utilisez la commande az cosmosdb update et répertoriez la fonctionnalité que vous souhaitez conserver :

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

    Conseil

    Si vous utilisez PowerShell et qu’un message d'erreur s’affiche lorsque vous utilisez cette commande, essayez plutôt d’utiliser un tableau PowerShell pour répertorier les fonctionnalités :

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

Étapes suivantes