Azure Cosmos DB for NoSQL: Spring Data Azure Cosmos DB v5 예제

적용 대상: NoSQL

Important

이러한 릴리스 정보는 Spring Data Azure Cosmos DB 버전 5에 대한 것입니다. 버전 3은 여기, 버전 2는 여기에서 릴리스 정보를 찾을 수 있습니다.

Spring Data Azure Cosmos DB는 API for NoSQL만 지원합니다.

다른 Azure Cosmos DB API의 Spring Data에 대한 정보는 다음 문서를 참조하세요.

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-spring-boot-samples GitHub 리포지토리에 포함되어 있습니다. 이 문서는 다음을 제공합니다.

  • 각 예제 Spring Data Azure Cosmos DB 프로젝트 파일에서 작업에 연결합니다.
  • 관련된 API 참조 콘텐츠에 대한 링크입니다.

필수 조건

이 애플리케이션 예제를 실행하려면 다음이 필요합니다.

  • Java Development Kit 8
  • Spring Data Azure Cosmos DB v5

필요에 따라 Maven을 사용하여 프로젝트에서 사용할 최신 Spring Data Azure Cosmos DB v3 이진 파일을 가져올 수 있습니다. Maven은 필요한 종속성을 자동으로 추가합니다. 자동으로 추가하지 않을 경우 pom.xml 파일에 나열된 종속성을 직접 다운로드하여 빌드 경로에 추가할 수 있습니다.

<dependency>
	<groupId>com.azure</groupId>
	<artifactId>azure-spring-data-cosmos</artifactId>
	<version>LATEST</version>
</dependency>

애플리케이션 예제 실행

샘플 리포지토리 복제:

$ git clone https://github.com/Azure-Samples/azure-spring-boot-samples

$ cd cosmos/azure-spring-data-cosmos/spring3-samples/cosmos-quickstart-samples

IDE(Eclipse, IntelliJ 또는 VS Code)를 사용하거나 Maven을 사용하여 명령줄에서 샘플을 실행할 수 있습니다.

application.properties에서 이러한 환경 변수를 설정하여

cosmos.uri=${ACCOUNT_HOST}
cosmos.key=${ACCOUNT_KEY}
cosmos.secondaryKey=${SECONDARY_ACCOUNT_KEY}

dynamic.collection.name=spel-property-collection
# Populate query metrics
cosmos.queryMetricsEnabled=true

계정, 데이터베이스 및 컨테이너에 대한 읽기/쓰기 액세스 권한을 샘플에 부여해야 합니다.

IDE에서 Spring Data 샘플 코드를 실행하는 기능을 제공할 수 있습니다. 그렇지 않으면 다음 터미널 명령을 사용하여 샘플을 실행할 수 있습니다.

mvn spring-boot:run

문서 CRUD 예제

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

작업 API 참조
문서 만들기 CosmosRepository.save
ID로 문서 읽기 CosmosRepository.derivedQueryMethod
모든 문서 삭제 CosmosRepository.deleteAll

파생 쿼리 메서드 예제

samples 파일은 다음 작업을 수행하는 방법을 보여 줍니다. 다음 샘플을 실행하기 전에 Azure Cosmos DB 쿼리에 대한 자세한 내용은 Spring에서 Baeldung의 파생 쿼리 메서드 문서를 읽는 것이 유용할 수 있습니다.

| 문서에 대한 쿼리 | CosmosRepository.derivedQueryMethod |

사용자 지정 쿼리 예제

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

작업 API 참조
모든 문서에 대한 쿼리 @Query 주석
==를 사용하는 균등에 대한 쿼리 @Query 주석
!= 및 NOT을 사용하는 불균등에 대한 쿼리 @Query 주석
범위 연산자(예: >, <, >=, <=)를 사용하여 쿼리 @Query 주석
문자열에 대해 범위 연산자를 사용하는 쿼리 @Query 주석
ORDER BY를 사용하여 쿼리 @Query 주석
DISTINCT를 사용하여 쿼리 @Query 주석
집계 함수를 사용하여 쿼리 @Query 주석
하위 문서로 작업 @Query 주석
문서 내 조인으로 쿼리 @Query 주석
문자열, 수치 연산 및 배열 연산자로 쿼리 @Query 주석

다음 단계

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