快速入門:使用 JAVA SDK 和 Azure Cosmos DB Gremlin API 建立圖形資料庫

適用于 :Gremlin API

在這個快速入門中,您從 Azure 入口網站建立及管理 Azure Cosmos DB Gremlin (圖形) API 帳戶,然後使用從 GitHub 複製的 JAVA 應用程式來新增資料。 Azure Cosmos DB 是一種多模型資料庫服務,可讓您使用全域分配和水準縮放功能,快速建立及查詢檔、資料表、鍵值和圖形資料庫。

先決條件

建立資料庫帳戶

在建立圖形資料庫之前,您必須使用 Azure (Graph) 資料庫帳戶建立一個資料Cosmos資料庫帳戶。

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

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

    在 Azure 入口網站中建立資源

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

    Azure 入口網站資料庫窗格

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

    設置 價值 描述
    訂閱 訂閱名稱 選取要用於此 Azure 帳戶的 Azure 訂閱Cosmos帳戶。
    資源群組 資源組名 選取資源群組,或選取建立 資源群組,然後輸入新資源群組的唯一名稱。
    帳戶名稱 輸入唯一名稱 輸入唯一名稱,以識別 Azure Cosmos DB 帳戶。 您的帳戶 URI 將會 gremlin.azure.com 附加到您唯一的帳戶名稱。

    帳戶名稱只能使用小寫字母、數位和連字號 (-) ,且必須介於 3 到 44 個字元之間。
    API Gremlin (圖形) API 會決定要建立的帳戶類型。 Azure Cosmos DB 提供五個 API:檔資料庫的核心 (SQL) 、圖形資料庫的Gremlin、檔資料庫的 MongoDB、Azure Table 和 Cassandra。 您必須為每個 API 建立個別的帳戶。

    選取 資料 (資料 ) ,因為在這個快速入門中,您建立的資料表會與 Gremlin API 一起運作。

    深入瞭解Gremlin API
    位置 最接近使用者的區域 選取要託管 Azure 帳戶的地理位置Cosmos DB 帳戶。 使用最接近使用者的位置,讓他們以最快的速度存取資料。
    容量模式 已置備輸送量或 Serverless 選取 已置備輸送量 以在已配置 輸送量模式中建立 帳戶。 選取 無伺服器 以在無伺服器 模式中建立 帳戶。
    使用 Azure Cosmos DB 免費層級折扣 申請不適用 使用 Azure Cosmos DB 免費層級,您將在帳戶中免費取得第一個 1000 RU/s 和 25 GB 的儲存空間。 深入瞭解免費 等級

    注意

    每個 Azure 訂閱的 DB 帳戶Cosmos一個免費層級 Azure,而且建立帳戶時必須加入宣告。 如果您沒看到適用免費等級折扣的選項,這表示訂閱中的另一個帳戶已使用免費層級啟用。

    Azure 和 DB 的新帳戶Cosmos頁面

  5. 在全域 發佈選項卡 中,設定下列詳細資料。 您可以為此快速入門保留預設值:

    設置 價值 描述
    Geo-Redundancy 禁用 將地區與配對區域配對,以啟用或停用您的帳戶上的全域發佈。 您稍後可以新增更多區域至您的帳戶。
    多區域寫入 禁用 多區域寫入功能可讓您利用全球資料庫和容器的部署輸送量。

    注意

    如果您選取 Serverless 做為容量模式,則無法 使用下列選項

    • 適用免費等級折扣
    • 異地重複
    • 多區域寫入
  6. 您也可以在下列選項卡中設定其他詳細資料:

  7. 選取 Review + create

  8. 建立帳戶需要幾分鐘的時間。 等待入口網站顯示恭喜!您的 Azure Cosmos資料庫帳戶已建立頁面

    Azure Cosmos資料庫帳戶建立頁面

新增圖形

現在,您可以使用 Azure 入口網站中的資料管理器工具來建立圖形資料庫。

  1. 選取資料管理器新增Graph。

    新增Graph區域會顯示在最右邊,您可能需要向右卷軸才能看到。

    Azure 入口網站資料管理器,新增Graph頁面

  2. 在新增 圖形頁面中 ,輸入新圖形的設定。

    設置 建議的值 描述
    資料庫識別碼 範例資料庫 輸入 範例資料庫 做為新資料庫的名稱。 資料庫名稱必須介於 1 到 255 個字元之間,且不能包含 / \ # ? 或結尾空格。
    輸送量 400 個 RUs 將輸送量變更為每秒 400 個要求單位 (RU/s) 。 如果您想要減少延遲,您可以稍後放大輸送量。
    Graph識別碼 範例圖形 輸入 範例圖形 做為新收藏的名稱。 Graph名稱具有與資料庫 ID 相同的字元需求。
    分區鍵 /pk 所有Cosmos DB 帳戶都需要一個分區鍵,以水準縮放。 瞭解如何在資料分割文章中選取適當的Graph鍵
  3. 填寫表單後, 請選取確定 。

複製範例應用程式

現在,讓我們切換到使用程式碼。 讓我們從資料庫複製一個 Gremlin API 應用程式,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-graph-java-getting-started.git
    

檢查程式碼

此步驟為選擇性。 如果您有興趣瞭解如何在代碼中建立資料庫資源,您可以查看下列程式碼片段。 否則,您可以跳至 更新 您的連接字串

下列程式碼片段都取自 C:\git-samples\azure-cosmos-db-graph-java-get-started\src\GetStarted\Program.java 檔案。

此 JAVA 主機應用程式使用具有 OSS Apache TinkerPop驅動程式的Gremlin API資料庫。

  • Gremlin Client 是從 Client 檔案中的組態初始化。

    cluster = Cluster.build(new File("src/remote.yaml")).create();
    ...
    client = cluster.connect();
    
  • 使用方法會執行一連串的 Gremlin client.submit 步驟。

    ResultSet results = client.submit(gremlin);
    
    CompletableFuture<List<Result>> completableFutureResults = results.all();
    List<Result> resultList = completableFutureResults.get();
    
    for (Result result : resultList) {
        System.out.println(result.toString());
    }
    

更新您的連接資訊

現在返回 Azure 入口網站以取得您的連接資訊,並複製到應用程式中。 這些設定可讓您的應用程式與託管資料庫通訊。

  1. 在 Azure 中Cosmos Azure 入口網站中的DB 帳戶,選取金鑰

    複製 URI 值的第一部分。

    在 Azure 入口網站 、金鑰頁面查看及複製便捷鍵

  2. 開啟 src/remote.yaml 檔案,然後將唯一識別碼值貼 hosts: [$name$.graphs.azure.com]

    remote.yaml的第 1 行現在看起來應該類似

    hosts: [test-graph.graphs.azure.com]

  3. graphsgremlin.cosmosdbendpoint 中變更為。 (如果您在 2017 年 12 月 20 日之前建立圖形資料庫帳戶,請不變更端點值,並繼續下一個步驟。)

    端點值現在應該會像這樣:

    "endpoint": "https://testgraphacct.gremlin.cosmosdb.azure.com:443/"

  4. 在 Azure 入口網站中,使用複製按鈕複製 PRIMARY KEY 並貼 $masterKey$password: $masterKey$

    remote.yaml的第 4 行現在看起來應該類似

    password: 2Ggkr662ifxz2Mg==

  5. remote.yaml 變更第 3 行

    username: /dbs/$database$/colls/$collection$

    username: /dbs/sample-database/colls/sample-graph

    如果您使用範例資料庫或圖形的唯一名稱,請適當更新值。

  6. 儲存 remote.yaml 檔案。

執行主機應用程式

  1. 在 git 終端機視窗中, cd 到 azure-cosmos-db-graph-java-started-started 資料夾。

    cd "C:\git-samples\azure-cosmos-db-graph-java-getting-started"
    
  2. 在 git 終端機視窗中,使用下列命令來安裝所需的 JAVA 套件。

    mvn package
    
  3. 在 git 終端機視窗中,使用下列命令啟動 JAVA 應用程式。

    mvn exec:java -D exec.mainClass=GetStarted.Program
    

    終端機視窗會顯示要新增到圖形的頂點。

    如果您遇到逾時錯誤,請檢查您是否在更新您的連接資訊中正確更新了連接資訊,並再次嘗試執行最後一個命令。

    程式停止後,選取 Enter,然後在網際網路瀏覽器中切換回 Azure 入口網站。

檢查並新增範例資料

現在,您可以返回資料管理器,查看新增到圖形的頂點,並新增其他資料點。

  1. 在 Azure Cosmos Azure 入口網站中的 DB帳戶中,選取資料管理器、展開範例圖形、選取Graph,然後選取應用程式篩選

    螢幕擷取畫面Graph A P I 中選取的選項,以及適用篩選的選項。

  2. 在結果 清單中 ,請注意新增到圖形的新使用者。 選取 ben, 並注意到使用者已連接到 robin。 您可以拖曳和拖放、捲動滑鼠滾輪來放大和縮小頂點,然後使用雙箭號來展開圖形大小。

    Azure 入口網站中資料管理器中圖形中的新頂點

  3. 讓我們新增一些使用者。 選取 新增頂點 以將資料新加到圖形中。

    螢幕擷取畫面顯示您可以在其中輸入值的新增頂點窗格。

  4. 在標籤方塊中,輸入 人員

  5. 選取 Add 屬性 以新增下列每個屬性。 請注意,您可以為圖形中的每個人建立唯一屬性。 只需要識別碼。

    關鍵 價值 筆記
    Id 艾希禮 頂點的唯一識別碼。 如果您未指定識別碼,系統即會針對您產生識別碼。
    性別 女性
    技術 JAVA

    注意

    在此快速入門中,您可以建立未分割的集合。 不過,如果您在建立集合期間指定分區鍵來建立分區集合,則需要在每個新頂點中將分區鍵當做索引鍵。

  6. 選取 確定。 您可能需要展開螢幕, 在畫面底部 看到確定。

  7. 再次 選取新頂點 ,然後新增一位新使用者。

  8. 輸入人員 標籤

  9. 選取 Add 屬性 以新增下列每個屬性:

    關鍵 價值 筆記
    Id rakesh 頂點的唯一識別碼。 如果您未指定識別碼,系統即會針對您產生識別碼。
    性別 男性
    學校 麻省理工學院
  10. 選取 確定

  11. 選取具有 預設篩選的 應用程式篩選按鈕 ,以顯示圖形中的所有值。 所有使用者現在都顯示在結果 清單中

    當您新增更多資料時,您可以使用篩選來限制結果。 根據預設,資料管理器 g.V() 會用來取回圖形中所有的頂點。 您可以將它變更 為不同的圖形查詢 ,例如 ,以 JSON 格式返回圖形中所有 頂點的計數。 如果您變更了篩選,請重新將篩選變更為 ,然後選取 g.V()g.V() 來再次顯示所有結果。

  12. 現在您可以連接 rakesh 和 ashley。 確定在結果清單中選取 ashley,然後選取右下角的目標旁的變更圖形中的頂點目標。 您可能需要加寬視窗,以查看按鈕。

    變更圖形中的頂點目標 - Azure CosmosDB

  13. 在目標 方塊輸入 rakesh,然後在 Edge 卷 標方塊中輸入 知道,然後選取核取方塊。

    在資料管理器中新增連接 - Azure CosmosDB

  14. 現在從 結果清單中選取 rakesh, 然後查看 ashley 和 rakesh 已連接。

    在資料管理器中連接的兩個頂點 - Azure CosmosDB

完成此教學課程的資源建立部分。 您可以繼續新增頂點至圖形、修改現有的頂點,或變更查詢。 現在,讓我們查看 Azure Cosmos DB 提供的資料,然後清理資源。

在 Azure 入口網站中查看 SLA

Azure 入口網站會Cosmos資料庫帳戶輸送量、儲存空間、可用性、延遲和一致性。 與 Azure 與 DB 服務等級Cosmos協定與 SLA (關聯的) 圖表會顯示與實際績效比較的SLA值。 此公制套件可透明地監控您的 SLA。

若要檢查度量和 SLA:

  1. 選取您資料庫帳戶Cosmos功能表中的度量。

  2. 選取一個 Tab ,例如 延遲,然後選取右邊的時間範圍。 比較 圖表上的 實際和 SLA 線條。

    Azure Cosmos DB 度量套件

  3. 查看其他資料標籤上的度量。

清理資源

當您使用您的應用程式和 Azure Cosmos DB 帳戶時,您可以刪除您建立 Azure 資源,這樣您就不用支付更多費用。 若要刪除資源:

  1. 在 Azure 入口網站搜尋欄中,搜尋並選取 資源群組

  2. 從清單中,選取您為此快速入門建立的資源群組。

    選取要刪除的資源群組

  3. 在資源群組 概觀頁面上 ,選取 刪除資源群組

    刪除資源群組

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

下一個步驟

在這個快速入門中,您學到如何建立 Azure Cosmos DB 帳戶、使用資料管理器建立圖形,以及執行將資料新加到圖形的 JAVA 應用程式。 現在,您可以使用Gremlin建立更複雜的查詢,以及實現功能強大的圖形橫穿邏輯。