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 체험 계정을 만듭니다.

Azure 구독 및 약정 없이 Azure Cosmos DB를 무료로 사용해 볼 수 있습니다. 또는 무료로 처음 1000RU/s와 25GB의 스토리지를 사용하여 Azure Cosmos DB 무료 계층 계정을 만들 수 있습니다. 또한 URI가 https://localhost:8081Azure 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시간 사용량이 청구됩니다.

데이터베이스 예제

syncasync용 데이터베이스 CRUD 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB 데이터베이스에 대해 알아보려면 데이터베이스, 컨테이너 및 항목 작업 개념 문서를 참조하세요.

작업 API 참조
데이터베이스 만들기 CosmosClient.createDatabaseIfNotExists
CosmosAsyncClient.createDatabaseIfNotExists
ID로 데이터베이스 읽기 CosmosClient.getDatabase
CosmosAsyncClient.getDatabase
모든 데이터베이스를 읽기 CosmosClient.readAllDatabases
CosmosAsyncClient.readAllDatabases
데이터베이스 삭제 CosmosDatabase.delete
CosmosAsyncDatabase.delete

컬렉션 예제

syncasync에 대한 컬렉션 CRUD 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB 컬렉션에 대해 알아보려면 데이터베이스, 컨테이너 및 항목 작업 개념 문서를 참조하세요.

작업 API 참조
컬렉션 만들기 CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists
컬렉션의 구성된 성능 변경 CosmosContainer.replaceThroughput
CosmosAsyncContainer.replaceProvisionedThroughput
ID로 컬렉션 가져오기 CosmosDatabase.getContainer
CosmosAsyncDatabase.getContainer
데이터베이스의 모든 컬렉션 읽기 CosmosDatabase.readAllContainers
CosmosAsyncDatabase.readAllContainers
컬렉션 삭제 CosmosContainer.delete
CosmosAsyncContainer.delete

자동 크기 조정 컬렉션 예제

이러한 샘플을 실행하기 전에 자동 크기 조정에 대해 자세히 알아보려면 계정데이터베이스 및 컨테이너에서 자동 크기 조정을 사용하도록 설정하는 방법에 대한 다음 지침을 참조하세요.

syncasync용 자동 크기 조정 데이터베이스 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다.

작업 API 참조
자동 크기 조정 최대 처리량이 지정된 데이터베이스 만들기 CosmosClient.createDatabase
CosmosAsyncClient.createDatabase

syncasync에 대한 자동 크기 조정 컬렉션 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다.

작업 API 참조
자동 크기 조정 최대 처리량이 지정된 컬렉션 만들기 CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists
컬렉션의 구성된 자동 크기 조정 최대 처리량 변경 CosmosContainer.replaceThroughput
CosmosAsyncContainer.replaceThroughput
컬렉션의 자동 크기 조정 처리량 구성 읽기 CosmosContainer.readThroughput
CosmosAsyncContainer.readThroughput

분석 스토리지 컬렉션 예제

syncasync용 분석 스토리지 컬렉션 CRUD 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB 컬렉션에 대해 알아보려면 Azure Cosmos DB Synapse 및 Analytical Store를 참조하세요.

작업 API 참조
컬렉션 만들기 CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists

항목 예제

syncasync용 문서 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 쿼리 예제를 참조하세요.

작업 API 참조
모든 문서 쿼리 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
==를 사용하는 균등에 대한 쿼리 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
!= 및 NOT을 사용하는 불균등에 대한 쿼리 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
범위 연산자(예:>, <, >=, <=)를 사용하여 쿼리 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
문자열에 대해 범위 연산자를 사용하여 쿼리 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
ORDER BY를 사용하여 쿼리 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
DISTINCT를 사용하여 쿼리 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
집계 함수를 사용하여 쿼리 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
하위 문서 작업 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
문서 내 조인을 사용하여 쿼리 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
문자열, 수치 연산 및 배열 연산자로 쿼리 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
SqlQuerySpec를 사용하여 매개 변수가 있는 SQL로 쿼리 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
명시적 페이징을 사용하여 쿼리 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
분할된 컬렉션 병렬 쿼리 CosmosContainer.queryItems
CosmosAsyncContainer.queryItems

변경 피드 예제

변경 피드 프로세서 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB의 피드 변경에 대해 알아보려면 Azure Cosmos DB 변경 피드 읽기변경 피드 프로세서를 참조하세요.

작업 API 참조
기본 변경 피드 기능 ChangeFeedProcessor.changeFeedProcessorBuilder
처음부터 변경 피드 읽기 ChangeFeedProcessorOptions.setStartFromBeginning()

서버 쪽 프로그래밍 예제

저장 프로시저 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB의 서버 쪽 프로그래밍에 대해 알아보려면 저장 프로시저, 트리거 및 사용자 정의 함수를 참조하세요.

작업 API 참조
저장 프로시저 만들기 CosmosScripts.createStoredProcedure
저장 프로시저 실행 CosmosStoredProcedure.execute
저장 프로시저 삭제 CosmosStoredProcedure.delete

다음 단계

Azure Cosmos DB로 마이그레이션하기 위한 용량 계획을 수행하려고 하시나요? 용량 계획을 위해 기존 데이터베이스 클러스터에 대한 정보를 사용할 수 있습니다.