Azure Cosmos DB SQL API: Java SDK v4 예제

적용 대상: SQL API

중요

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로 마이그레이션 가이드를 참조하세요.

중요

Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.

Azure 구독, 비용 및 약정 없이 Azure Cosmos DB 무료 체험을 사용해 보거나, 처음에 400RU/초 및 5GB의 스토리지를 무료로 사용할 수 있는 Azure Cosmos DB 체험 계층 계정을 만들 수 있습니다. 또한 URI가 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 또는 VSCODE)를 사용하거나 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에 대한 여러 호출을 실행합니다. 구독에 이렇게 영향을 줄 때마다 생성되는 컬렉션의 성능 계층에 대해 1시간 사용량이 청구됩니다.

데이터베이스 예제

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

Task API 참조
데이터베이스 만들기 CosmosClient.createDatabaseIfNotExists
ID별 데이터베이스 읽기 CosmosClient.getDatabase
모든 데이터베이스를 읽기 CosmosClient.readAllDatabases
데이터베이스 삭제 CosmosDatabase.delete

컬렉션 예제

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

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

자동 크기 조정 컬렉션 예제

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

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

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

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

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

분석 스토리지 컬렉션 예제

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

Task API 참조
컬렉션 만들기 CosmosDatabase.createContainerIfNotExists

문서 예제

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

Task API 참조
문서 만들기 CosmosContainer.createItem
ID로 문서 읽기 CosmosContainer.readItem
문서에 대한 쿼리 CosmosContainer.queryItems
문서 바꾸기 CosmosContainer.replaceItem
문서 Upsert CosmosContainer.upsertItem
문서 삭제 CosmosContainer.deleteItem
조건부 ETag 검사로 문서 바꾸기 AccessCondition.setType
AccessCondition.setCondition
문서가 변경된 경우에만 문서 읽기 AccessCondition.setType
AccessCondition.setCondition
부분 문서 업데이트 CosmosContainer.patchItem

청구 예제

컬렉션 CRUD 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB에서 인덱싱에 대해 자세히 알아보려면 인덱싱 정책, 인덱싱 유형인덱싱 경로 개념 문서를 참조하세요.

Task API 참조
인덱스에서 문서 제외 ExcludedIndex
IndexingPolicy
지연 인덱싱 사용 IndexingPolicy.IndexingMode
지정된 문서 경로를 인덱스에 포함 IndexingPolicy.IncludedPaths
지정된 문서 경로를 인덱스에서 제외 IndexingPolicy.ExcludedPaths
복합 인덱스 만들기 IndexingPolicy.setCompositeIndexes
CompositePath
해시 인덱싱된 경로에 범위 검색 작업 강제 적용 FeedOptions.EnableScanInQuery
문자열에 범위 인덱스 사용 IndexingPolicy.IncludedPaths
RangeIndex
인덱스 변환 수행 -
지리 공간 인덱스 만들기 IndexingPolicy.setSpatialIndexes
SpatialSpec
SpatialType

인덱싱에 대한 자세한 내용은 Azure Cosmos DB 인덱싱 정책을 참조하세요.

쿼리 예제

쿼리 예제 파일에서는 SQL 쿼리 문법을 사용하여 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB의 SQL 쿼리 참조에 대해 알아보려면 Azure Cosmos DB에 대한 SQL 쿼리 예제를 참조하세요.

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

변경 피드 예제

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

Task API 참조
기본 변경 피드 기능 ChangeFeedProcessor.changeFeedProcessorBuilder
특정 시간의 변경 피드 읽기 ChangeFeedProcessor.changeFeedProcessorBuilder
처음부터 변경 피드 읽기 -

서버 쪽 프로그래밍 예제

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

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

사용자 관리 예제

사용자 관리 샘플 파일은 다음 작업을 수행하는 방법을 보여 줍니다.

Task API 참조
사용자 만들기 -
컬렉션 또는 문서에 대한 권한 설정 -
사용자의 권한 목록 가져오기 -

다음 단계

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