Configurare le funzionalità dell'account Azure Cosmos DB for MongoDB

SI APPLICA A: MongoDB

Le funzionalità sono caratteristiche che possono essere aggiunte o rimosse all'account dell'API per MongoDB. Molte di queste funzionalità influiscono sul comportamento dell'account, quindi è importante essere consapevoli dell'effetto prodotto da una funzionalità prima di abilitarla o disabilitarla. Diverse funzionalità vengono impostate negli account dell'API per MongoDB per impostazione predefinita e non possono essere modificate o rimosse. Un esempio è offerto dalla funzionalità EnableMongo. Questo articolo illustra come abilitare e disabilitare una funzionalità.

Prerequisiti

Funzionalità disponibili

Funzionalità Descrizione Rimovibile
DisableRateLimitingResponses Consente all'API Mongo di ripetere le richieste di limitazione della frequenza sul lato server fino al valore impostato per max-request-timeout.
EnableMongoRoleBasedAccessControl Abilita il supporto per la creazione di utenti e ruoli per il controllo degli accessi in base al ruolo di MongoDB nativo. No
EnableMongoRetryableWrites Abilita il supporto per le scritture ritentabili nell'account.
EnableMongo16MBDocumentSupport Abilita il supporto per l'inserimento di documenti di dimensioni fino a 16 MB. No
EnableUniqueCompoundNestedDocs Abilita il supporto per indici composti e univoci nei campi annidati se il campo annidato non è una matrice. No
EnableTtlOnCustomPath Consente di impostare una durata (TTL) personalizzata in un campo di una raccolta. L'impostazione della durata (TTL) per la proprietà di indice univoco parziale non è supportata. 1 No
EnablePartialUniqueIndex Abilita il supporto per un indice parziale univoco, offrendo così la possibilità di specificare esattamente i campi nei documenti da indicizzare. No
EnableUniqueIndexReIndex Abilita il supporto per la reindicizzazione di indici univoci per Cosmos DB per MongoDB UR. 1 No

Nota

1 Questa funzionalità non può essere abilitata in un account Azure Cosmos DB per MongoDB con backup continuo.

Abilitare una funzionalità

  1. Recuperare le funzionalità dell'account esistenti usando az cosmosdb show:

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

    Verrà visualizzata una sezione relativa alle funzionalità simile all'output di esempio seguente:

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

    Esaminare la funzionalità predefinita. In questo esempio l'unica funzionalità impostata è EnableMongo.

  2. Impostare la nuova funzionalità nell'account di database. L'elenco dovrebbe includere le funzionalità abilitate in precedenza che si vogliono mantenere.

    Solo le funzionalità denominate in modo esplicito vengono impostate nell'account. Se ad esempio si vuole aggiungere la funzionalità DisableRateLimitingResponses all'esempio precedente, usare il comando az cosmosdb update con il parametro --capabilities ed elencare tutte le funzionalità desiderate per l'account:

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

    Importante

    L'elenco deve sempre specificare tutte le funzionalità da abilitare, incluse quelle già abilitate per l'account che si vogliono mantenere. In questo esempio la funzionalità EnableMongo è già stata abilitata, quindi è necessario specificare entrambe le funzionalità EnableMongo e DisableRateLimitingResponses.

    Suggerimento

    Se si usa PowerShell e viene visualizzato un messaggio di errore quando si usa il comando precedente, provare a usare in alternativa una matrice di PowerShell per elencare le funzionalità:

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

Disabilitare una funzionalità

  1. Recuperare le funzionalità dell'account esistenti usando az cosmosdb show:

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

    Verrà visualizzata una sezione relativa alle funzionalità simile all'output di esempio seguente:

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

    Verificare tutte le funzionalità attualmente impostate. In questo esempio vengono impostate due funzionalità: EnableMongo e DisableRateLimitingResponses.

  2. Rimuovere una delle funzionalità dall'account del database. L'elenco dovrebbe includere le funzionalità abilitate in precedenza che si vogliono mantenere.

    Solo le funzionalità denominate in modo esplicito vengono impostate nell'account. Se ad esempio si vuole rimuovere la funzionalità DisableRateLimitingResponses, usare il comando az cosmosdb update ed elencare le funzionalità da mantenere:

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

    Suggerimento

    Se si usa PowerShell e viene visualizzato un messaggio di errore quando si usa questo comando, provare a usare in alternativa una matrice di PowerShell per elencare le funzionalità:

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

Passaggi successivi