Azure Cosmos DB for MongoDB のアカウントの機能を構成する
適用対象: MongoDB
MongoDB 用 API のアカウントに機能を追加、またはアカウントから機能を削除することができます。 これらの機能の多くはアカウントの動作に影響するため、機能を有効または無効にする前に、その影響を十分に認識しておくことが重要です。 いくつかの機能は MongoDB 用 API のアカウントに既定で設定されており、変更も削除もできません。 EnableMongo
機能がその一例です。 この記事では、機能を有効または無効にする方法について説明します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- Azure Cosmos DB for MongoDB アカウント。 MongoDB アカウント用 API を作成します。
- Azure CLI または Azure portal へのアクセス。 Azure Resource Manager を使用した機能の変更はサポートされていません。
使用可能な機能
機能 | 説明 | リムーバブル |
---|---|---|
DisableRateLimitingResponses |
Mongo API が max-request-timeout に設定された値までサーバー側でレート制限要求を再試行できるようにします。 |
はい |
EnableMongoRoleBasedAccessControl |
ネイティブ MongoDB ロールベースのアクセス制御に対するユーザーとロールの作成のサポートを有効にします。 | いいえ |
EnableMongoRetryableWrites |
アカウントでの再試行可能な書き込みのサポートを有効にします。 | はい |
EnableMongo16MBDocumentSupport |
最大 16 MB のサイズのドキュメントの挿入のサポートを有効にします。 1 | いいえ |
EnableUniqueCompoundNestedDocs |
入れ子になったフィールドが配列でない場合に、入れ子になったフィールドでの複合および一意なインデックスのサポートを有効にします。 | いいえ |
EnableTtlOnCustomPath |
コレクション内の任意の 1 つのフィールドにカスタム Time to Live (TTL) を設定する機能を提供します。 部分的な一意のインデックス プロパティ上での TTL の設定はサポートされていません。 2 | いいえ |
EnablePartialUniqueIndex |
一意の部分インデックスのサポートを有効にします。これにより、インデックスを作成するドキュメント内のフィールドを正確に指定する柔軟性が得られます。 | いいえ |
EnableUniqueIndexReIndex |
MongoDB RU 用 Cosmos DB の一意のインデックス再作成のサポートを有効にします。2 | いいえ |
Note
1 この機能は、カスタマー マネージド キー (CMK) を使用する Azure Cosmos DB for MongoDB アカウントに対して有効にすることはできません。
Note
2 この機能は、継続的バックアップを使用する Azure Cosmos DB for MongoDB アカウントに対して有効にすることはできません。
重要
Azure Resource Manager を使用する機能の変更は、Azure Cosmos DB for MongoDB アカウントではできません。
機能を有効にする
az cosmosdb show を使用して既存のアカウント機能を取得します:
az cosmosdb show \ --resource-group <azure_resource_group> \ --name <azure_cosmos_db_account_name>
次の出力例ような機能セクションが表示されます。
"capabilities": [ { "name": "EnableMongo" } ]
既定の機能をレビューします。 この例では、設定されている機能は
EnableMongo
のみです。データベース アカウントに新しい機能を設定します。 機能のリストには、以前に有効にした維持する機能のリストを含める必要があります。
明示的に指定された機能のみがアカウントに設定されます。 たとえば、前の例に
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")
機能を無効にする
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")
次のステップ
- Azure Cosmos DB for MongoDB と共に Studio 3T を使用する方法を学習します。
- Azure Cosmos DB for MongoDB と共に Robo 3T を使用する方法を学習します。
- Azure Cosmos DB for MongoDBと共に MongoDB のサンプルを確認します。
- Azure Cosmos DB への移行のための容量計画を実行しようとしていますか? 容量計画のために、既存のデータベース クラスターに関する情報を使用できます。
- 既存のデータベース クラスター内の仮想コアとサーバーの数のみがわかっている場合は、仮想コアまたは vCPU を使用して要求ユニットを見積もる方法を確認してください。
- 現在のデータベース ワークロードの標準的な要求レートがわかっている場合は、Azure Cosmos DB 容量計画ツールを使用して要求ユニットを見積もる方法を確認してください。