設定 Azure Cosmos DB for MongoDB 帳戶功能
適用於: MongoDB
功能是指在適用於 MongoDB 的 API 帳戶中可新增或移除的特性。 其中許多功能會影響帳戶行為,因此在啟用或停用功能之前,請務必充分了解功能的效用。 API for MongoDB 帳戶預設已設定幾項功能,無法變更或移除。 例如 EnableMongo
功能。 本文將示範如何啟用和停用功能。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- Azure Cosmos DB for MongoDB 帳戶。 建立 API for MongoDB 帳戶。
- Azure CLI 或 Azure 入口網站存取權。 不支援透過 Azure Resource Manager 變更功能。
可用功能
功能 | 描述 | 卸除式 |
---|---|---|
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 |
注意
1 此功能無法在具有客戶自控金鑰 (CMK) 功能的 Azure Cosmos DB for MongoDB 帳戶上啟用。
注意
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
新增至上述範例,您可以使用 az cosmosdb update 命令搭配--capabilities
參數,並列出您想在帳戶中擁有的所有功能: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
兩個功能。從資料庫帳戶中移除其中一個功能。 功能清單應包含先前啟用,且希望保留的功能清單。
帳戶上只會設定已明確命名的功能。 例如,如果想要移除功能
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")
下一步
- 了解如何使用 Studio 3T 搭配 Azure Cosmos DB for MongoDB。
- 了解如何使用 Robo 3T 搭配 Azure Cosmos DB for MongoDB。
- 使用 Azure Cosmos DB for MongoDB 探索 MongoDB 範例。
- 正在嘗試為遷移至 Azure Cosmos DB 進行容量規劃嗎? 您可以使用現有資料庫叢集的相關資訊進行容量規劃。
- 如果您只知道現有資料庫叢集中的虛擬核心和伺服器數目,請參閱如何使用虛擬核心或 vCPU 來估計要求單位。
- 如果您知道目前資料庫工作負載的一般要求率,請參閱如何使用 Azure Cosmos DB 容量規劃工具來估計要求單位。