快速入門:使用適用於 MongoDB 的 Java 和 Azure Cosmos DB 建立控制台應用程式

適用於: MongoDB

在本快速入門中,您會從 Azure 入口網站 建立和管理適用於 MongoDB 的 Azure Cosmos DB 帳戶,並使用從 GitHub 複製的 Java SDK 應用程式來新增數據。 Azure Cosmos DB 是多模型的資料庫服務,可讓您快速建立及查詢具有全域散發和水平調整功能的文件、資料表、索引鍵/值及圖形資料庫。

必要條件

建立資料庫帳戶

  1. 在新的瀏覽器視窗中,登入 Azure 入口網站

  2. 在左側功能表中,選取 [建立資源]

    在 Azure 入口網站 中建立資源的螢幕快照。

  3. 在 [新增] 頁面上,選取 [資料庫]>[Azure Cosmos DB]

    [Azure 入口網站 資料庫] 窗格的螢幕快照。

  4. 在 [選取 API 選項] 頁面上,選取 [Azure Cosmos DB for MongoDB]> [建立]

    API 會決定要建立的帳戶類型。 選取 [Azure Cosmos DB for MongoDB],因為您在此快速入門中會建立可搭配 MongoDB 使用的集合。 若要深入了解,請參閱Azure Cosmos DB for MongoDB 概觀

    [選取 API] 選項窗格的螢幕快照。

  5. 在 [建立 Azure Cosmos DB 帳戶] 頁面上,輸入新 Azure Cosmos DB 帳戶的設定。

    設定 Description
    訂用帳戶 訂用帳戶名稱 選取您要用於此 Azure Cosmos DB 帳戶的 Azure 訂用帳戶。
    資源群組 資源群組名稱 選取資源群組,或選取 [新建],然後輸入新資源群組的唯一名稱。
    客戶名稱 輸入唯一名稱 輸入唯一名稱來識別您的 Azure Cosmos DB 帳戶。 您的帳戶 URI 將是 mongo.cosmos.azure.com,並附加至您的唯一帳戶名稱。

    帳戶名稱只能使用小寫字母、數字和連字號 (-),且長度必須介於 3 到 44 個字元之間。
    Location 最接近使用者的區域 選取用來裝載 Azure Cosmos DB 帳戶的地理位置。 使用最接近使用者的位置,讓他們能以最快速度存取資料。
    容量模式 佈建輸送量或無伺服器 選取 [佈建的輸送量],以佈建的輸送量模式建立帳戶。 選取 [無伺服器],以無伺服器模式建立帳戶。

    注意:無伺服器帳戶僅支援 API for MongoDB 4.2、4.0 和 3.6 版。 選擇 3.2 作為版本將會強制帳戶處於佈建的輸送量模式。
    申請 Azure Cosmos DB 免費階層折扣 適用不適用 使用 Azure Cosmos DB 免費層,您將可在帳戶中免費取得前 1000 RU/秒和 25 GB 的儲存體。 深入了解免費層
    版本 選擇需要的伺服器版本 Azure Cosmos DB for MongoDB 與伺服器 4.2、4.0、3.6 和 3.2 版相容。 您可以在建立帳戶之後升級或降級帳戶。

    注意

    每個 Azure 訂用帳戶最多可以有一個免費層的 Azure Cosmos DB 帳戶,而且必須在建立帳戶時選擇加入。 如果您看不到套用免費層折扣的選項,這表示訂用帳戶中的另一個帳戶已透過免費層啟用。

    Azure Cosmos DB 新帳戶頁面的螢幕快照。

  6. 在 [全域散發] 索引標籤中,設定下列詳細資料。 您可以保留預設值,以供本快速入門的目的之用:

    設定 Description
    異地備援 停用 藉由將您的區域與配對區域進行配對,在您的帳戶上啟用或停用全域散發。 您可以在稍後將更多區域新增至您的帳戶。
    多重區域寫入 停用 多重區域寫入功能可讓您利用在全球為資料庫及容器佈建的輸送量。

    注意

    如果您選取 [無伺服器] 作為容量模式,則無法使用下列選項:

    • 套用免費層折扣
    • 異地備援
    • 多重區域寫入
  7. (選擇性) 您可以在下列索引標籤中設定其他詳細資料:

    • 網路 - 設定從虛擬網路存取
    • 備份原則 - 設定定期連續備份原則。
    • 加密 - 使用服務管理的金鑰或客戶自控金鑰
    • 標籤 - 標籤為成對的名稱和值,可讓您將相同的標籤套用至多個資源與資源群組,以便為資源分類及檢視合併的帳單。
  8. 選取 [檢閱 + 建立]。

  9. 建立帳戶需要幾分鐘。 等候入口網站顯示 [恭喜!您的 Azure Cosmos DB for MongoDB 帳戶已就緒] 頁面。

    Azure 入口網站 [通知] 窗格的螢幕擷取畫面。

新增集合

將新資料庫命名為 db,以及將新集合命名為 coll

您現在可以在 Azure 入口網站中使用 [資料總管] 工具,建立適用於 MongoDB 資料庫和容器的 Azure Cosmos DB API。

  1. 選取 [資料總管]>[新增容器]

    [新增容器] 區域會顯示在最右邊,您可能需要向右捲動才能看到它。

    Azure 入口網站 [資料總管],[新增容器] 窗格

  2. 在 [新增容器] 頁面上,輸入新容器的設定。

    設定 建議的值 描述
    資料庫識別碼 db 輸入 db 做為新資料庫的名稱。 資料庫名稱必須包含從 1 到 255 個字元,且不能包含 /, \\, #, ? 或尾端空格。 核取 [佈建資料庫輸送量] 選項,它可讓您在資料庫中的所有容器內共用佈建到資料庫的輸送量。 此選項也有助於節省成本。
    輸送量 400 讓輸送量保持在每秒 400 個要求單位 (RU/秒)。 如果您想要降低延遲,稍後可以相應增加輸送量。 您也可以選擇自動調整模式,這會提供您一系列視需要動態增加和減少的 RU/秒。
    集合識別碼 coll 輸入 coll 來為您的新容器命名。 容器識別碼與資料庫名稱具有相同的字元需求。
    儲存體容量 固定 (10GB) 輸入此應用程式的「固定 (10GB)」。 如果您選取「無限制」,就必須建立所有插入項目都需要的 Shard Key
    分區金鑰 /_id 本文所述的範例不會使用分區金鑰,因此將其設定為 /_id 會使用自動產生的識別碼欄位做為分區金鑰。 若要深入了解分區化 (也稱為資料分割),請參閱在 Azure Cosmos DB 中進行資料分割

    選取 [確定]。 [資料總管] 會顯示新的資料庫和容器。

複製範例應用程式

現在,我們將從 GitHub 複製應用程式、設定連接字串,然後加以執行。 您會看到,以程式設計方式來處理資料有多麼的容易。

  1. 開啟命令提示字元,建立名為 git-samples 的新資料夾,然後關閉命令提示字元。

    md "C:\git-samples"
    
  2. 開啟 git 終端機視窗 (例如 git bash),並使用 cd 命令變更至要安裝範例應用程式的新資料夾。

    cd "C:\git-samples"
    
  3. 執行下列命令來複製範例存放庫。 此命令會在您的電腦上建立範例應用程式副本。

    git clone https://github.com/Azure-Samples/azure-cosmos-db-mongodb-java-getting-started.git
    
  4. 然後在您慣用的編輯器中開啟程式碼。

檢閱程式碼

此步驟是選擇性的。 若您想要瞭解如何在程式碼中建立資料庫資源,則可檢閱下列程式碼片段。 或者也可以直接跳至更新您的連接字串

下列程式碼片段全部取自 Program.java 檔案。

此主控台應用程式會使用 MongoDB Java 驅動程式

  • 已初始化 DocumentClient。

    MongoClientURI uri = new MongoClientURI("FILLME");`
    
    MongoClient mongoClient = new MongoClient(uri);            
    
  • 已建立新的資料庫和集合。

    MongoDatabase database = mongoClient.getDatabase("db");
    
    MongoCollection<Document> collection = database.getCollection("coll");
    
  • 已使用 MongoCollection.insertOne 插入一些文件

    Document document = new Document("fruit", "apple")
    collection.insertOne(document);
    
  • 已使用 MongoCollection.find 執行一些查詢

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

更新您的連接字串

現在,返回 Azure 入口網站以取得連接字串資訊,並將它複製到應用程式中。

  1. 從 Azure Cosmos DB 帳戶,選取 [快速入門],選取 [Java],然後將連接字串複製到剪貼簿。

  2. 開啟 Program.java 檔案,以連接字串取代 MongoClientURI 建構函式的引數。 您現已更新應用程式,使其具有與 Azure Cosmos DB 通訊所需的所有資訊。

執行主控台應用程式

  1. 在終端機中執行 mvn package 以安裝必要的套件

  2. 在終端機中執行 mvn exec:java -D exec.mainClass=GetStarted.Program 來啟動您的 Java 應用程式。

您現在可以使用 Robomongo / Studio 3T 來查詢、修改及處理這項新資料。

在 Azure 入口網站中檢閱 SLA

Azure 入口網站會監視 Azure Cosmos DB 帳戶輸送量、儲存體、可用性、延遲和一致性。 與 Azure Cosmos DB 服務等級協定 (SLA) 相關聯的計量圖表會顯示相較於實際效能的 SLA 值。 此計量套件可讓您以更透明的方式監視監視 SLA。

若要檢閱計量和 SLA:

  1. 在 Azure Cosmos DB 帳戶導覽功能表中,選取 [計量]

  2. 選取一個索引標籤 (例如 [延遲]),並在右側選取時間範圍。 比較圖表中的實際SLA 的資料行。

    Azure Cosmos DB 計量套件

  3. 檢閱其他索引標籤中的計量。

清除資源

完成您的應用程式和 Azure Cosmos DB 帳戶之後,您可以將建立的 Azure 資源刪除,以免產生更多費用。 若要刪除資源:

  1. 在 Azure 入口網站的 [搜尋] 列中,搜尋並選取 [資源群組]

  2. 在該清單中,選取您在本快速入門中建立的資源群組。

    選取要刪除的資源群組

  3. 在 [資源群組] 的 [概觀] 頁面中,選取 [刪除資源群組]

    刪除資源群組

  4. 在下個視窗中輸入要刪除的資源群組名稱,然後選取 [刪除]

下一步

在此快速入門中,您已了解如何建立 Azure Cosmos DB for MongoDB 帳戶、使用 [資料總管] 建立資料庫和容器,以及使用 Java 主控台應用程式來新增資料。 您現在可以將其他資料匯入 Azure Cosmos DB 資料庫。

正在嘗試為遷移至 Azure Cosmos DB 進行容量規劃嗎? 您可以使用現有資料庫叢集的相關資訊進行容量規劃。