共用方式為


設定 Azure Cosmos DB for MongoDB 帳戶功能

適用於: MongoDB

功能是指在適用於 MongoDB 的 API 帳戶中可新增或移除的特性。 其中許多功能會影響帳戶行為,因此在啟用或停用功能之前,請務必充分了解功能的效用。 API for MongoDB 帳戶預設已設定幾項功能,無法變更或移除。 例如 EnableMongo 功能。 本文將示範如何啟用和停用功能。

必要條件

可用功能

功能 描述 卸除式
DisableRateLimitingResponses 允許 Mongo API 在伺服器端重試速率限制要求,直到達到為 max-request-timeout 設定的值。 Yes
EnableMongoRoleBasedAccessControl 啟用建立原生 MongoDB 角色型存取控制之使用者與角色的支援。 No
EnableMongoRetryableWrites 啟用在帳戶上進行可重試寫入的支援。 Yes
EnableMongo16MBDocumentSupport 啟用插入文件大小上限 16 MB 的支援。 1 No
EnableUniqueCompoundNestedDocs 如果巢狀欄位並非陣列,則啟用巢狀欄位上複合索引與唯一索引的支援。 No
EnableTtlOnCustomPath 提供在集合中任一欄位內設定自訂存留時間 (TTL) 的功能。 不支援在部分唯一索引屬性上設定 TTL。 2 No
EnablePartialUniqueIndex 啟用唯一部分索引的支援,以便更彈性地指定想要編制索引的確切文件欄位。 No
EnableUniqueIndexReIndex 啟用對 Cosmos DB for MongoDB RU 唯一索引重新編制索引的支援。2 No

注意

1 此功能無法在具有客戶自控金鑰 (CMK) 功能的 Azure Cosmos DB for MongoDB 帳戶上啟用。

注意

2 此功能無法在具有連續備份功能的 Azure Cosmos DB for MongoDB 帳戶上啟用。

重要

使用 Azure Resource Manager 變更功能不適用於適用於 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 新增至上述範例,您可以使用 az cosmosdb update 命令搭配 --capabilities 參數,並列出您想在帳戶中擁有的所有功能:

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

    重要

    功能清單必須一律指定您想要啟用的「所有」功能, 包括帳號中已啟用,且您希望保留的功能。 在此範例中,由於功能 EnableMongo 已啟用,因此您必須同時指定功能 EnableMongoDisableRateLimitingResponses

    提示

    如果您使用 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. 從資料庫帳戶中移除其中一個功能。 功能清單應包含先前啟用,且希望保留的功能清單。

    帳戶上只會設定已明確命名的功能。 例如,如果想要移除功能 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")
    

下一步