빠른 시작: Azure Cosmos DB에서 Java 및 MongoDB API를 사용하여 콘솔 앱 만들기Quickstart: Create a console app with Java and the MongoDB API in Azure Cosmos DB

이 빠른 시작에서는 Mongo DB 및 Java SDK용 Azure Cosmos DB API를 사용하여 콘솔 웹앱을 만듭니다.In this quickstart, you'll use the Azure Cosmos DB API for Mongo DB and Java SDK to create a console web app. Azure Cosmos DB를 사용하면 문서, 키/값 및 그래프 데이터베이스를 빠르게 만들고 쿼리할 수 있으며, 이 모든 기능은 Cosmos DB의 핵심에 있는 글로벌 배포 및 수평 확장 기능을 활용할 수 있습니다.Azure Cosmos DB allows you to quickly create and query document, key/value and graph databases, all of which benefit from the global distribution and horizontal scale capabilities at the core of Cosmos DB.

이 빠른 시작에서는 Azure Cosmos DB의 API for MongoDB를 사용하여 Cosmos 계정을 만드는 방법을 보여줍니다.This quickstart demonstrates how to create a Cosmos account with Azure Cosmos DB's API for MongoDB. 그런 다음, MongoDB Java 드라이버를 사용하여 콘솔 앱을 빌드 및 배포합니다.You'll then build and deploy a console app built using the MongoDB Java driver.

필수 조건Prerequisites

이 샘플을 실행하기 전에 다음 필수 조건이 있어야 합니다.Before you can run this sample, you must have the following prerequisites:

Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.If you don't have an Azure subscription, create a free account before you begin.

또는 Azure 구독, 요금 및 약정 없이 Azure Cosmos DB 평가판을 사용할 수 있습니다.Alternatively, you can Try Azure Cosmos DB for free without an Azure subscription, free of charge and commitments. 또는 다음 연결 문자열과 함께 이 자습서에 Azure Cosmos DB 에뮬레이터를 사용할 수 있습니다.Or you can use the Azure Cosmos DB Emulator for this tutorial with a connection string of

mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/admin?ssl=true

데이터베이스 계정 만들기Create a database account

  1. 새 창에서 Azure Portal에 로그인합니다.In a new window, sign in to the Azure portal.

  2. 왼쪽 메뉴에서 리소스 만들기, 데이터베이스를 차례로 선택한 다음, Azure Cosmos DB에서 만들기를 선택합니다.In the left menu, select Create a resource, select Databases, and then under Azure Cosmos DB, select Create.

    더 많은 서비스와 Azure Cosmos DB를 강조 표시한 Azure Portal의 스크린샷

  3. Azure Cosmos DB 계정 만들기 페이지에서 새 Azure Cosmos DB 계정에 대한 설정을 입력합니다.In the Create Azure Cosmos DB Account page, enter the settings for the new Azure Cosmos DB account.

    설정Setting Value 설명Description
    SubscriptionSubscription 사용자의 구독Your subscription 이 Azure Cosmos DB 계정에 사용하려는 Azure 구독을 선택합니다.Select the Azure subscription that you want to use for this Azure Cosmos DB account.
    리소스 그룹Resource Group 새로 만들기Create new

    다음으로, ID에 제공된 것과 동일한 고유한 이름 입력Then enter the same unique name as provided in ID
    새로 만들기를 선택합니다.Select Create new. 그런 다음, 계정에 대한 새 리소스 그룹 이름을 입력합니다.Then enter a new resource-group name for your account. 간단히 하기 위해 ID와 동일한 이름을 사용합니다.For simplicity, use the same name as your ID.
    계정 이름Account Name 고유한 이름을 입력합니다.Enter a unique name 내 Azure Cosmos DB 계정을 식별하는 고유한 이름을 입력합니다.Enter a unique name to identify your Azure Cosmos DB account. URI를 만들기 위해 제공하는 ID에 documents.azure.com이 추가되므로 고유한 ID를 사용합니다.Because documents.azure.com is appended to the ID that you provide to create your URI, use a unique ID.

    ID는 소문자, 숫자 및 하이픈(-) 문자만 사용할 수 있으며,The ID can use only lowercase letters, numbers, and the hyphen (-) character. 3~31자여야 합니다.It must be between 3 and 31 characters in length.
    APIAPI Azure Cosmos DB의 API for MongoDBAzure Cosmos DB's API for MongoDB API는 만들 계정의 형식을 결정합니다.The API determines the type of account to create. Azure Cosmos DB는 문서 데이터베이스용 Core(SQL), 그래프 데이터베이스용 Gremlin, 문서 데이터베이스용 Azure Cosmos DB의 API MongoDB, Azure Table 및 Cassandra의 5가지 API를 제공합니다.Azure Cosmos DB provides five APIs: Core (SQL) for document databases, Gremlin for graph databases, Azure Cosmos DB's API MongoDB for document databases, Azure Table, and Cassandra. 현재 각 API에 대한 별도의 계정을 만들어야 합니다.Currently, you must create a separate account for each API.

    이 빠른 시작에서는 MongoDB를 사용하는 테이블을 만들 예정이므로 MongoDB를 선택합니다.Select MongoDB because in this quickstart you are creating a table that works with the MongoDB.
    위치Location 사용자와 가장 가까운 지역 선택Select the region closest to your users Azure Cosmos DB 계정을 호스트할 지리적 위치를 선택합니다.Select a geographic location to host your Azure Cosmos DB account. 데이터에 가장 빨리 액세스할 수 있도록 사용자와 가장 가까운 위치를 사용합니다.Use the location that's closest to your users to give them the fastest access to the data.

    검토+만들기를 선택합니다.Select Review+Create. 네트워크태그 섹션을 건너뛸 수 있습니다.You can skip the Network and Tags section.

    Azure Cosmos DB에 대한 새 계정 페이지

  4. 계정 생성에는 몇 분 정도가 소요됩니다.The account creation takes a few minutes. 포털에서 축하합니다! MongoDB에 대한 유선 프로토콜 호환성이 있는 Cosmos 계정이 준비되었습니다. 페이지를 표시할 때까지 기다립니다.Wait for the portal to display the Congratulations! Your Cosmos account with wire protocol compatibility for MongoDB is ready page.

    Azure Portal 알림 창

컬렉션 추가Add a collection

새 사용자 데이터베이스 이름을 db로 지정하고 새로운 컬렉션 이름을 coll로 지정합니다.Name your new database, db, and your new collection, coll.

이제 Azure Portal에서 Data Explorer 도구를 사용하여 데이터베이스 및 컨테이너를 만들 수 있습니다.You can now use the Data Explorer tool in the Azure portal to create a database and container.

  1. Data Explorer > 새 컨테이너를 선택합니다.Select Data Explorer > New Container.

    맨 오른쪽에 컨테이너 추가 영역이 표시되는데, 안 보이면 오른쪽으로 스크롤해야 합니다.The Add Container area is displayed on the far right, you may need to scroll right to see it.

    Azure Portal Data Explorer, 컨테이너 추가 창

  2. 컨테이너 추가 페이지에서 새 컨테이너의 설정을 입력합니다.In the Add container page, enter the settings for the new container.

    설정Setting 제안 값Suggested value 설명Description
    데이터베이스 IDDatabase ID 작업Tasks 새 데이터베이스의 이름으로 ToDoList를 입력합니다.Enter ToDoList as the name for the new database. 데이터베이스 이름은 1~255자여야 하며, /, \\, #, ? 또는 후행 공백은 포함할 수 없습니다.Database names must contain from 1 through 255 characters, and they cannot contain /, \\, #, ?, or a trailing space. 데이터베이스 처리량 프로비전 옵션을 선택합니다. 그러면 데이터베이스에 프로비저닝된 처리량을 데이터베이스 내 모든 컨테이너가 공유할 수 있습니다.Check the Provision database throughput option, it allows you to share the throughput provisioned to the database across all the containers within the database. 이 옵션은 비용 절감에도 도움이 됩니다.This option also helps with cost savings.
    처리량Throughput 400400 처리량을 400 RU/s(초당 요청 단위)로 유지합니다.Leave the throughput at 400 request units per second (RU/s). 대기 시간을 줄이면 나중에 처리량을 늘릴 수 있습니다.If you want to reduce latency, you can scale up the throughput later.
    컨테이너 IDContainer ID ItemsItems 새 컨테이너의 이름으로 Items를 입력합니다.Enter Items as the name for your new container. 컨테이너 ID에는 데이터베이스 이름과 동일한 문자 요구 사항이 적용됩니다.Container IDs have the same character requirements as database names.
    파티션 키Partition key /category/category 이 문서에 설명된 샘플은 파티션 키로 /category를 사용합니다.The sample described in this article uses /category as the partition key.

    앞의 설정 외에도, 필요에 따라 컨테이너의 고유 키를 추가할 수 있습니다.In addition to the preceding settings, you can optionally add Unique keys for the container. 이 예에서 필드는 비워 두겠습니다.Let's leave the field empty in this example. 고유 키는 데이터베이스에 데이터 무결성 계층을 추가할 수 있는 기능을 개발자에게 제공합니다.Unique keys provide developers with the ability to add a layer of data integrity to the database. 컨테이너를 만드는 동안 고유 키 정책을 만들면 파티션 키당 하나 이상의 값에 대한 고유성이 보장됩니다.By creating a unique key policy while creating a container, you ensure the uniqueness of one or more values per partition key. 자세한 내용은 Azure Cosmos DB의 고유 키 문서를 참조하세요.To learn more, refer to the Unique keys in Azure Cosmos DB article.

    확인을 선택합니다.Select OK. Data Explorer에 새 데이터베이스와 컨테이너가 표시됩니다.The Data Explorer displays the new database and container.

샘플 애플리케이션 복제Clone the sample application

이제 GitHub에서 앱을 복제하고, 연결 문자열을 설정하고, 앱을 실행하겠습니다.Now let's clone an app from GitHub, set the connection string, and run it. 프로그래밍 방식으로 데이터를 사용하여 얼마나 쉽게 작업할 수 있는지 알게 될 것입니다.You'll see how easy it is to work with data programmatically.

  1. 명령 프롬프트를 git-samples라는 새 폴더를 만든 다음 명령 프롬프트를 닫습니다.Open a command prompt, create a new folder named git-samples, then close the command prompt.

    md "C:\git-samples"
    
  2. Git Bash와 같은 Git 터미널 창을 열고, cd 명령을 사용하여 샘플 앱을 설치할 새 폴더로 변경합니다.Open a git terminal window, such as git bash, and use the cd command to change to the new folder to install the sample app.

    cd "C:\git-samples"
    
  3. 다음 명령을 실행하여 샘플 리포지토리를 복제합니다.Run the following command to clone the sample repository. 이 명령은 컴퓨터에서 샘플 앱의 복사본을 만듭니다.This command creates a copy of the sample app on your computer.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-mongodb-java-getting-started.git
    
  4. 그런 다음, 선호하는 편집기에서 코드를 엽니다.Then open the code in your favorite editor.

코드 검토Review the code

이 단계는 선택 사항입니다.This step is optional. 데이터베이스 리소스를 코드로 만드는 방법을 알아보려는 경우 다음 코드 조각을 검토할 수 있습니다.If you're interested in learning how the database resources are created in the code, you can review the following snippets. 그렇지 않으면 연결 문자열 업데이트로 건너뛸 수 있습니다.Otherwise, you can skip ahead to Update your connection string.

다음 코드 조각은 모두 Program.java 파일에서 가져옵니다.The following snippets are all taken from the Program.java file.

  • DocumentClient가 초기화됩니다.The DocumentClient is initialized.

    MongoClientURI uri = new MongoClientURI("FILLME");`
    
    MongoClient mongoClient = new MongoClient(uri);            
    
  • 새 데이터베이스 및 컬렉션이 만들어집니다.A new database and collection are created.

    MongoDatabase database = mongoClient.getDatabase("db");
    
    MongoCollection<Document> collection = database.getCollection("coll");
    
  • MongoCollection.insertOne을 사용하여 일부 문서가 삽입됩니다.Some documents are inserted using MongoCollection.insertOne

    Document document = new Document("fruit", "apple")
    collection.insertOne(document);
    
  • MongoCollection.find을 사용하여 일부 쿼리가 수행됩니다.Some queries are performed using MongoCollection.find

    Document queryResult = collection.find(Filters.eq("fruit", "apple")).first();
    System.out.println(queryResult.toJson());       
    

연결 문자열 업데이트Update your connection string

이제 Azure Portal로 다시 이동하여 연결 문자열 정보를 가져와서 앱에 복사합니다.Now go back to the Azure portal to get your connection string information and copy it into the app.

  1. 계정에서 빠른 시작을 선택하고 Java를 선택한 다음, 연결 문자열을 클립보드에 복사합니다.From the Account, select Quick Start, select Java, then copy the connection string to your clipboard.

  2. Program.java 파일을 열고 MongoClientURI 생성자에 대한 인수를 연결 문자열로 바꿉니다.Open the Program.java file, replace the argument to the MongoClientURI constructor with the connection string. 이제 Azure Cosmos DB와 통신하는 데 필요한 모든 정보로 앱이 업데이트되었습니다.You've now updated your app with all the info it needs to communicate with Azure Cosmos DB.

콘솔 앱 실행Run the console app

  1. 터미널에서 mvn package를 실행하여 필요한 npm 모듈을 설치합니다.Run mvn package in a terminal to install required npm modules

  2. 터미널에서 mvn exec:java -D exec.mainClass=GetStarted.Program을 실행하여 Java 애플리케이션을 시작합니다.Run mvn exec:java -D exec.mainClass=GetStarted.Program in a terminal to start your Java application.

이제 Robomongo / Studio 3T를 사용하여 이 새 데이터를 쿼리, 수정 및 사용할 수 있습니다.You can now use Robomongo / Studio 3T to query, modify, and work with this new data.

Azure Portal에서 SLA 검토Review SLAs in the Azure portal

Azure Portal에서는 Cosmos DB 계정 처리량, 스토리지, 가용성, 대기 시간 및 일관성을 모니터링합니다.The Azure portal monitors your Cosmos DB account throughput, storage, availability, latency, and consistency. Azure Cosmos DB SLA(서비스 수준 계약)와 관련된 메트릭 차트에는 실제 성능 대비 SLA 값이 표시됩니다.Charts for metrics associated with an Azure Cosmos DB Service Level Agreement (SLA) show the SLA value compared to actual performance. 이 메트릭 모음을 통해 SLA를 투명하게 모니터링할 수 있습니다.This suite of metrics makes monitoring your SLAs transparent.

메트릭 및 SLA를 검토하려면 다음을 수행합니다.To review metrics and SLAs:

  1. Cosmos DB 계정의 탐색 메뉴에서 메트릭을 선택합니다.Select Metrics in your Cosmos DB account's navigation menu.

  2. 대기 시간과 같은 탭을 선택하고, 오른쪽에서 시간 프레임을 선택합니다.Select a tab such as Latency, and select a timeframe on the right. 차트의 실제SLA 줄을 비교합니다.Compare the Actual and SLA lines on the charts.

    Azure Cosmos DB 메트릭 도구 모음

  3. 다른 탭의 메트릭을 검토합니다.Review the metrics on the other tabs.

리소스 정리Clean up resources

웹앱과 Azure Cosmos DB 계정을 모두 사용했으면 추가로 비용을 지불하지 않도록 만든 Azure 리소스를 삭제할 수 있습니다.When you're done with your web app and Azure Cosmos DB account, you can delete the Azure resources you created so you don't incur more charges. 리소스를 삭제하려면:To delete the resources:

  1. Azure Portal의 맨 왼쪽에서 리소스 그룹을 선택합니다.In the Azure portal, select Resource groups on the far left. 왼쪽 메뉴가 축소되어 있으면 확장 버튼을 선택하여 확장합니다.If the left menu is collapsed, select Expand button to expand it.

  2. 이 빠른 시작에서 만든 리소스 그룹을 선택합니다.Select the resource group you created for this quickstart.

    삭제할 리소스 그룹 선택

  3. 새 창에서 리소스 그룹 삭제를 선택합니다.In the new window, select Delete resource group.

    리소스 그룹 삭제

  4. 새 창에서 삭제할 리소스 그룹의 이름을 입력한 다음, 삭제를 선택합니다.In the next window, enter the name of the resource group to delete, and then select Delete.

다음 단계Next steps

이 빠른 시작에서는 Cosmos 계정을 만들고, 컬렉션을 만들고, 콘솔 앱을 실행하는 방법을 알아보았습니다.In this quickstart, you've learned how to create a Cosmos account, create a collection and run a console app. 이제 Cosmos 데이터베이스에 추가 데이터를 가져올 수 있습니다.You can now import additional data to your Cosmos database.