적용 대상: MongoDB
기능은 API for MongoDB 계정에 추가하거나 제거할 수 있는 기능입니다. 이러한 기능의 대부분은 계정 동작에 영향을 주므로 기능을 사용하거나 사용하지 않도록 설정하기 전에 기능에 미치는 영향을 완전히 파악하는 것이 중요합니다. 기본적으로 몇 가지 기능이 API for MongoDB 계정에 설정되어 있으며 변경하거나 제거할 수 없습니다. 한 가지 예는 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 |
최대 16MB 크기의 문서 삽입 지원이 가능하도록 설정합니다. 1 | 아니요 |
EnableUniqueCompoundNestedDocs |
중첩 필드가 배열이 아닌 경우에는 중첩 필드에서 복합 및 고유 인덱스 지원이 가능하도록 설정합니다. | 아니요 |
EnableTtlOnCustomPath |
컬렉션의 한 필드에 사용자 지정 TTL(Time to Live)을 설정하는 기능을 제공합니다. 부분 고유 인덱스 속성에 TTL을 설정하는 것은 지원되지 않습니다. 2 | 아니요 |
EnablePartialUniqueIndex |
고유한 부분 인덱스 지원이 가능하도록 설정하여 인덱싱하려는 문서의 필드를 더 유연하게 정확히 지정할 수 있습니다. | 아니요 |
참고
1 이 기능은 CMK(고객 관리형 키)를 사용하여 Azure Cosmos DB for MongoDB 계정에서 사용하도록 설정할 수 없습니다.
참고
2 이 기능은 연속 백업을 사용하여 Azure Cosmos DB for MongoDB 계정에서 사용하도록 설정할 수 없습니다.
중요한
Azure Cosmos DB for MongoDB 계정에서는 Azure Resource Manager를 사용하여 기능을 변경할 수 없습니다.
기능 활성화
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")
다음 단계
- Azure Cosmos DB for MongoDB에서 Studio 3T를 사용하는 방법을 알아봅니다.
- Azure Cosmos DB for MongoDB에서 Robo 3T를 사용하는 방법을 알아봅니다.
- Azure Cosmos DB for MongoDB를 사용하여 MongoDB 샘플을 살펴봅니다.
- Azure Cosmos DB로 마이그레이션하기 위한 용량 계획을 수행하려고 하시나요? 용량 계획을 위해 기존 데이터베이스 클러스터에 대한 정보를 사용할 수 있습니다.
- 기존 데이터베이스 클러스터의 vCore 및 서버 수만 알고 있다면 vCore 또는 vCPU를 사용하여 요청 단위를 추정하는 방법을 알아보세요.
- 현재 데이터베이스 워크로드에 대한 일반적인 요청 비율을 알고 있는 경우 Azure Cosmos DB Capacity Planner를 사용하여 요청 단위를 예측하는 방법을 알아보세요.