Azure Cosmos DB for NoSQL: Java SDK v4 예제
적용 대상: NoSQL
Important
Java SDK v4에 대해 자세히 알아보려면 Azure Cosmos DB Java SDK v4 릴리스 정보, Maven 리포지토리, Azure Cosmos DB Java SDK v4 성능 팁 및 Azure Cosmos DB Java SDK v4 문제 해결 가이드를 참조하세요. 현재 v4보다 이전 버전을 사용하는 경우 v4로 업그레이드하는 데 도움이 필요하면 Azure Cosmos DB Java SDK v4로 마이그레이션 가이드를 참조하세요.
Important
Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.
- Visual Studio 구독자 혜택을 활성화할 수 있음: Visual Studio 구독은 유료 Azure 서비스에 사용할 수 있는 크레딧을 매달 제공합니다.
Azure 구독 및 약정 없이 Azure Cosmos DB를 무료로 사용해 볼 수 있습니다. 또는 무료로 처음 1000RU/s와 25GB의 스토리지를 사용하여 Azure Cosmos DB 무료 계층 계정을 만들 수 있습니다. 또한 URI가 https://localhost:8081
인 Azure Cosmos DB Emulator를 사용할 수도 있습니다. 에뮬레이터에서 사용할 키는 요청 인증을 참조하세요.
Azure Cosmos DB 리소스에 대한 CRUD 작업 및 다른 일반적인 작업을 수행하는 최신 애플리케이션 예제는 azure-cosmos-java-sql-api-samples GitHub 리포지토리에 포함되어 있습니다. 이 문서는 다음을 제공합니다.
- 각 예제 Java 프로젝트 파일에서 작업에 연결합니다.
- 관련된 API 참조 콘텐츠에 대한 링크입니다.
필수 조건
이 애플리케이션 예제를 실행하려면 다음이 필요합니다.
- Java Development Kit 8
- Azure Cosmos DB Java SDK v4
필요에 따라 Maven을 사용하여 프로젝트에서 사용할 최신 Azure Cosmos DB Java SDK v4 이진 파일을 가져올 수 있습니다. Maven은 필요한 종속성을 자동으로 추가합니다. 자동으로 추가하지 않을 경우 pom.xml 파일에 나열된 종속성을 직접 다운로드하여 빌드 경로에 추가할 수 있습니다.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-cosmos</artifactId>
<version>LATEST</version>
</dependency>
애플리케이션 예제 실행
샘플 리포지토리 복제:
$ git clone https://github.com/Azure-Samples/azure-cosmos-java-sql-api-samples.git
$ cd azure-cosmos-java-sql-api-samples
IDE(Eclipse, IntelliJ 또는 VS Code)를 사용하거나 Maven을 사용하여 명령줄에서 샘플을 실행할 수 있습니다.
이러한 환경 변수를 설정하여
ACCOUNT_HOST=your account hostname;ACCOUNT_KEY=your account primary key
계정에 대한 읽기/쓰기 액세스 권한을 샘플에 부여해야 합니다.
샘플을 실행하려면 해당 Main 클래스를 지정합니다.
com.azure.cosmos.examples.sample.synchronicity.MainClass
여기서 sample.synchronicity.MainClass는 다음이 될 수 있습니다.
- crudquickstart.sync.SampleCRUDQuickstart
- crudquickstart.async.SampleCRUDQuickstartAsync
- indexmanagement.sync.SampleIndexManagement
- indexmanagement.async.SampleIndexManagementAsync
- storedprocedure.sync.SampleStoredProcedure
- storedprocedure.async.SampleStoredProcedureAsync
- changefeed.SampleChangeFeedProcessor (Changefeed has only an async sample, no sync sample.) 등
참고 항목
각 샘플은 자체 포함되므로 자체 설정된 후 자체 정리됩니다. 샘플은 CosmosContainer
또는 CosmosAsyncContainer
에 대한 여러 호출을 실행합니다. 구독에 이렇게 영향을 줄 때마다 생성되는 컬렉션의 성능 계층에 대해 1시간 사용량이 청구됩니다.
데이터베이스 예제
sync 및 async용 데이터베이스 CRUD 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB 데이터베이스에 대해 알아보려면 데이터베이스, 컨테이너 및 항목 작업 개념 문서를 참조하세요.
작업 | API 참조 |
---|---|
데이터베이스 만들기 | CosmosClient.createDatabaseIfNotExists CosmosAsyncClient.createDatabaseIfNotExists |
ID로 데이터베이스 읽기 | CosmosClient.getDatabase CosmosAsyncClient.getDatabase |
모든 데이터베이스를 읽기 | CosmosClient.readAllDatabases CosmosAsyncClient.readAllDatabases |
데이터베이스 삭제 | CosmosDatabase.delete CosmosAsyncDatabase.delete |
컬렉션 예제
sync 및 async에 대한 컬렉션 CRUD 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB 컬렉션에 대해 알아보려면 데이터베이스, 컨테이너 및 항목 작업 개념 문서를 참조하세요.
자동 크기 조정 컬렉션 예제
이러한 샘플을 실행하기 전에 자동 크기 조정에 대해 자세히 알아보려면 계정 및 데이터베이스 및 컨테이너에서 자동 크기 조정을 사용하도록 설정하는 방법에 대한 다음 지침을 참조하세요.
sync 및 async용 자동 크기 조정 데이터베이스 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다.
작업 | API 참조 |
---|---|
자동 크기 조정 최대 처리량이 지정된 데이터베이스 만들기 | CosmosClient.createDatabase CosmosAsyncClient.createDatabase |
sync 및 async에 대한 자동 크기 조정 컬렉션 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다.
작업 | API 참조 |
---|---|
자동 크기 조정 최대 처리량이 지정된 컬렉션 만들기 | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
컬렉션의 구성된 자동 크기 조정 최대 처리량 변경 | CosmosContainer.replaceThroughput CosmosAsyncContainer.replaceThroughput |
컬렉션의 자동 크기 조정 처리량 구성 읽기 | CosmosContainer.readThroughput CosmosAsyncContainer.readThroughput |
분석 스토리지 컬렉션 예제
sync 및 async용 분석 스토리지 컬렉션 CRUD 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB 컬렉션에 대해 알아보려면 Azure Cosmos DB Synapse 및 Analytical Store를 참조하세요.
작업 | API 참조 |
---|---|
컬렉션 만들기 | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
항목 예제
sync 및 async용 문서 CRUD 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB 문서에 대해 알아보려면 데이터베이스, 컨테이너 및 항목 작업 개념 문서를 참조하세요.
참고 항목
특정 항목에 대해 작업을 수행할 때 파티션 키를 지정해야 합니다.
작업 | API 참조 |
---|---|
문서 만들기 | CosmosContainer.createItem CosmosAsyncContainer.createItem |
ID로 문서 읽기 | CosmosContainer.readItem CosmosAsyncContainer.readItem |
문서에 대한 쿼리 | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
문서 바꾸기 | CosmosContainer.replaceItem CosmosAsyncContainer.replaceItem |
문서 upsert | CosmosContainer.upsertItem CosmosAsyncContainer.upsertItem |
문서 삭제 | CosmosContainer.deleteItem CosmosAsyncContainer.deleteItem |
조건부 ETag 검사로 문서 바꾸기 | CosmosItemRequestOptions.setIfMatchETag(동기) CosmosItemRequestOptions.setIfMatchETag(비동기) |
문서가 변경된 경우에만 문서 읽기 | CosmosItemRequestOptions.setIfNoneMatchETag(동기) CosmosItemRequestOptions.setIfNoneMatchETag(비동기) |
부분 문서 업데이트 | CosmosContainer.patchItem |
대량 문서 업데이트 | 대량 샘플 |
트랜잭션 일괄 처리 | 일괄 처리 샘플 |
청구 예제
컬렉션 CRUD 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB에서 인덱싱에 대해 자세히 알아보려면 인덱싱 정책, 인덱싱 유형 및 인덱싱 경로 개념 문서를 참조하세요.
작업 | API 참조 |
---|---|
지정된 문서 경로를 인덱스에 포함 | IndexingPolicy.IncludedPaths |
지정된 문서 경로를 인덱스에서 제외 | IndexingPolicy.ExcludedPaths |
복합 인덱스 만들기 | IndexingPolicy.setCompositeIndexes CompositePath |
지리 공간 인덱스 만들기 | IndexingPolicy.setSpatialIndexes SpatialSpec SpatialType |
인덱싱에 대한 자세한 내용은 Azure Cosmos DB 인덱싱 정책을 참조하세요.
쿼리 예제
동기 및 비동기용 쿼리 샘플 파일은 SQL 쿼리 문법을 사용하여 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB의 SQL 쿼리 참조에 대해 알아보려면 Azure Cosmos DB에 대한 SQL 쿼리 예제를 참조하세요.
변경 피드 예제
변경 피드 프로세서 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB의 피드 변경에 대해 알아보려면 Azure Cosmos DB 변경 피드 읽기 및 변경 피드 프로세서를 참조하세요.
작업 | API 참조 |
---|---|
기본 변경 피드 기능 | ChangeFeedProcessor.changeFeedProcessorBuilder |
처음부터 변경 피드 읽기 | ChangeFeedProcessorOptions.setStartFromBeginning() |
서버 쪽 프로그래밍 예제
저장 프로시저 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB의 서버 쪽 프로그래밍에 대해 알아보려면 저장 프로시저, 트리거 및 사용자 정의 함수를 참조하세요.
작업 | API 참조 |
---|---|
저장 프로시저 만들기 | CosmosScripts.createStoredProcedure |
저장 프로시저 실행 | CosmosStoredProcedure.execute |
저장 프로시저 삭제 | CosmosStoredProcedure.delete |
다음 단계
Azure Cosmos DB로 마이그레이션하기 위한 용량 계획을 수행하려고 하시나요? 용량 계획을 위해 기존 데이터베이스 클러스터에 대한 정보를 사용할 수 있습니다.
- 기존 데이터베이스 클러스터의 vCore 및 서버 수만을 알고 있는 경우, vCore 또는 vCPU를 사용하여 요청 단위 추정을 참조하세요
- 현재 데이터베이스 워크로드에 대한 일반적인 요청 비율을 알고 있는 경우 Azure Cosmos DB 용량 계획 도구를 사용하여 요청 단위 예측에 대해 읽어보세요.