Azure Cosmos DB for MongoDB のアカウントの機能を構成する

適用対象: MongoDB

MongoDB 用 API のアカウントに機能を追加、またはアカウントから機能を削除することができます。 これらの機能の多くはアカウントの動作に影響するため、機能を有効または無効にする前に、その影響を十分に認識しておくことが重要です。 いくつかの機能は MongoDB 用 API のアカウントに既定で設定されており、変更も削除もできません。 EnableMongo 機能がその一例です。 この記事では、機能を有効または無効にする方法について説明します。

前提条件

使用可能な機能

機能 説明 リムーバブル
DisableRateLimitingResponses Mongo API が max-request-timeout に設定された値までサーバー側でレート制限要求を再試行できるようにします。 はい
EnableMongoRoleBasedAccessControl ネイティブ MongoDB ロールベースのアクセス制御に対するユーザーとロールの作成のサポートを有効にします。 いいえ
EnableMongoRetryableWrites アカウントでの再試行可能な書き込みのサポートを有効にします。 はい
EnableMongo16MBDocumentSupport 最大 16 MB のサイズのドキュメントの挿入のサポートを有効にします。 いいえ
EnableUniqueCompoundNestedDocs 入れ子になったフィールドが配列でない場合に、入れ子になったフィールドでの複合および一意なインデックスのサポートを有効にします。 いいえ
EnableTtlOnCustomPath コレクション内の任意の 1 つのフィールドにカスタム Time to Live (TTL) を設定する機能を提供します。 部分的な一意のインデックス プロパティ上での TTL の設定はサポートされていません。 1 いいえ
EnablePartialUniqueIndex 一意の部分インデックスのサポートを有効にします。これにより、インデックスを作成するドキュメント内のフィールドを正確に指定する柔軟性が得られます。 いいえ
EnableUniqueIndexReIndex MongoDB RU 用 Cosmos DB の一意のインデックス再作成のサポートを有効にします。1 いいえ

Note

1 この機能は、継続的バックアップを使用する Azure Cosmos DB for 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 機能を追加する場合は、--capabilities パラメーターを指定して az cosmosdb update コマンドを使用し、アカウントに含めるすべての機能をリストします。

    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"
      }
    ]
    

    現在設定されているすべての機能を確認します。 この例では、EnableMongoDisableRateLimitingResponses の 2 つの機能が設定されています。

  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")
    

次のステップ