Python용 Azure Cosmos DB for NoSQL SDK의 예
적용 대상: NoSQL
Azure Cosmos DB 리소스에서 CRUD 작업 및 기타 일반적인 작업을 수행하는 샘플 솔루션은 azure/azure-sdk-for-python GitHub 리포지토리의 main/sdk/cosmos
폴더에 포함되어 있습니다. 이 문서는 다음을 제공합니다.
- 각 Python 예제 프로젝트 파일에서 작업에 연결합니다.
- 관련된 API 참조 콘텐츠에 대한 링크입니다.
필수 조건
- Azure Cosmos DB 계정, 옵션은 다음과 같습니다.
- Azure 활성 구독 내에서:
- Azure 체험 계정 만들기 또는 기존 구독 사용
- Visual Studio 월간 크레딧
- Azure Cosmos DB 체험 계층
- Azure 활성 구독이 없는 경우:
- 30일 동안 지속되는 테스트 환경인 Azure Cosmos DB를 무료로 사용해 보세요.
- Azure Cosmos DB 에뮬레이터
- Azure 활성 구독 내에서:
- Python 3.7 이상(
PATH
에python
실행 파일 포함) 자세한 내용은 Azure SDK Python 버전 지원 정책을 참조하세요. - Visual Studio Code
- Visual Studio Code용 Python 확장.
- Git
- Python용 Azure Cosmos DB for NoSQL SDK
데이터베이스 예제
database_management.py Python 샘플에서는 CosmosClient 메서드를 사용하여 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB 데이터베이스에 대해 알아보려면 데이터베이스, 컨테이너 및 항목 작업 개념 문서를 참조하세요.
작업 | API 참조 |
---|---|
데이터베이스 만들기 | CosmosClient.create_database |
ID별 데이터베이스 읽기 | CosmosClient.get_database_client |
데이터베이스 쿼리 | CosmosClient.query_databases |
계정에 대한 데이터베이스 나열 | CosmosClient.list_databases |
데이터베이스 삭제 | CosmosClient.delete_database |
컨테이너 예제
container_management.py Python 샘플에서는 DatabaseProxy 메서드를 사용하여 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB 컬렉션에 대해 알아보려면 데이터베이스, 컨테이너 및 항목 작업 개념 문서를 참조하세요.
작업 | API 참조 |
---|---|
컨테이너에 대한 쿼리 | database.query_containers |
컨테이너 만들기 | database.create_container |
데이터베이스의 모든 컨테이너 나열 | database.list_containers |
해당 ID로 컨테이너 가져오기 | database.get_container_client |
컨테이너의 프로비저닝된 처리량 관리 | container.replace_throughput |
컨테이너 삭제 | database.delete_container |
항목 예제
document_management.py 및 change_feed_management.py Python 샘플에서는 ContainerProxy 메서드를 사용하여 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB 항목에 대해 알아보려면 데이터베이스, 컨테이너 및 항목 작업 개념 문서를 참조하세요.
작업 | API 참조 |
---|---|
컨테이너에서 항목 만들기 | container.create_item |
해당 ID별로 항목 읽기 | container.read_item |
컨테이너의 모든 항목 읽기 | container.read_all_items |
해당 ID별로 항목 쿼리 | container.query_items |
항목 바꾸기 | container.replace_item |
항목 Upsert | container.upsert_item |
항목 삭제 | container.delete_item |
컨테이너에 있는 항목의 변경 피드 가져오기 | container.query_items_change_feed |
청구 예제
index_management.py Python 샘플에서는 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB에서 인덱싱에 대해 자세히 알아보려면 인덱싱 정책, 인덱싱 유형 및 인덱싱 경로 개념 문서를 참조하세요.
작업 | API 참조 |
---|---|
특정 항목을 인덱싱에서 제외 | documents.IndexingDirective.Exclude |
인덱싱된 특정 항목으로 수동 인덱싱 사용 | documents.IndexingDirective.Include |
인덱싱에서 경로 제외 | IndexingPolicy 속성에서 제외할 경로 정의 |
문자열에서 범위 인덱스 사용 | 문자열 데이터 형식의 범위 인덱스를 사용하여 인덱싱 정책을 정의합니다. 'kind': documents.IndexKind.Range , 'dataType': documents.DataType.String |
인덱스 변환 수행 | database.replace_container(업데이트된 인덱싱 정책 사용) |
경로에 해시 인덱스만 있는 경우 검색 사용 | 항목을 쿼리할 때 enable_scan_in_query=True 및 enable_cross_partition_query=True 설정 |
다음 단계
Azure Cosmos DB로 마이그레이션하기 위한 용량 계획을 수행하려고 하시나요? 용량 계획을 위해 기존 데이터베이스 클러스터에 대한 정보를 사용할 수 있습니다.
- 기존 데이터베이스 클러스터의 vCore 및 서버의 수만 알고 있는 경우 vCore 또는 vCPU를 사용하여 요청 단위 예측을 참조하세요
- 현재 데이터베이스 워크로드에 대한 일반적인 요청 비율을 알고 있는 경우 Azure Cosmos DB 용량 계획 도구를 사용하여 요청 단위 예측에 대해 읽어보세요.