使用 IntelliJ 外掛程式進行開發

瀏覽表格並執行 IntelliJ 中 Oracle NoSQL Database Cloud Service 執行處理或 Oracle NoSQL Database Cloud Simulator 的查詢。

Oracle NoSQL Database Cloud Service IntelliJ 外掛程式可連線至執行中的 Oracle NoSQL Database Cloud Service 或 Oracle NoSQL Database Cloud 模擬器執行處理,並可讓您:

本文包含下列主題:

設定 IntelliJ 外掛程式

瞭解如何設定 Oracle NoSQL Database Cloud Service 執行處理或 Oracle NoSQL Database Cloud 模擬器的 IntelliJ Plug-in。

先決條件:

安裝 IntelliJ IDEA。您可以從 JetBrains 下載 IntelliJ IDEA。

程序:

您可以依下列方式安裝 Plugin:

  1. 開啟 Oracle NoSQL DatabaseConnector 頁面的 JetBrains Plug-in 儲存區域

  2. 選取取得
  3. 版本功能表中,選取下載以取得最新版本的 Oracle NoSQL Database Connector。
  4. 在即現式視窗中,依照如何安裝 Oracle NoSQL Database Connector 下的畫面指示操作。

重新啟動 IDE。您會在右側面板中看到綱要總管圖示。

順利設定 IntelliJ 外掛程式之後,請建立 NoSQL 專案,然後將其連線至您的 Oracle NoSQL Database Cloud Service 執行處理或 Oracle NoSQL Database Cloud 模擬器。

在 IntelliJ 中建立 NoSQL 專案

瞭解如何在 IntelliJ 中建立 NoSQL 專案。

請執行以下步驟:

  1. 開啟 IntelliJ IDEA。按一下檔案 (File) > 新建 (New) > 專案 (Project)
  2. 輸入專案名稱專案位置的值。選取建立
  3. 選取組建系統和 JDK 路徑。
  4. IntelliJ 會建立您的 NoSQL 專案目錄,其中包含範例 Java 檔案。如果您已選取 Maven 作為組建系統,您的專案目錄也會包含 pom.xml 檔案。
  5. 確定已為您的 Oracle NoSQL 專案啟用通知。若要啟用「通知」,請按 Alt+\ 以開啟「主功能表」。按一下檢視,展開工具視窗 > 通知。通知圖示 通知鈴圖示 會顯示在右側的工具視窗列中。

在 IntelliJ 中成功建立 NoSQL 專案後,您可以將專案連接到 Oracle NoSQL Database Cloud Service 或 Oracle NoSQL Database Cloud Simulator。

從 IntelliJ 連線至 Oracle NoSQL Database Cloud Service

瞭解如何使用 IntelliJ 外掛程式將您的 NoSQL 專案連線至 Oracle NoSQL Database Cloud Service

請執行以下步驟:

  1. 在 IntelliJ 中開啟您的 NoSQL 專案。

  2. 按一下綱要總管視窗中的工作圖示 任務圖示,即可開啟 Plugin 的設定值對話方塊。

  3. 在「設定值總管」中展開工具 > Oracle NoSQL ,然後按一下連線

  4. 從「設定檔」類型的下拉式功能表中選取雲端。您可以在連線下拉式清單中,檢視雲端設定檔類型的所有現有連線。

  5. 按一下新增連線。您可以有兩個選項來建立連線。

    1. 使用組態檔:您可以指定組態檔路徑,此路徑指向儲存在本機系統上的 OCI 組態檔位置。此檔案包含連線至 Oracle NoSQL Database Cloud Service 所需的基本參數,例如區域、用戶 ID、使用者 ID、指紋、密碼詞組及私密金鑰路徑。

      輸入下列連線參數的必要值,然後選取 ADD 。然後選取確定

      表格 - 連線參數組態檔選項

      Parameter - 參數 描述 範例值
      連線名稱 Plugin 版本 1.5.1 中必須要有指定給特定連線規格的唯一名稱。從 1.4.0 或更新版本升級 Plugin 之後,建議您更新「連線名稱」欄位。

      注意:您可以新增多個連線,而且儲存的連線規格是永久性的。
      ndcs_con1
      組態檔案 配置檔案儲存在本機系統中的目錄路徑。如需有關組態檔及其內容的詳細資訊,請參閱連線至 Oracle NoSQL Database 的認證中的使用者主要項目方法。 ~/.oci/config
      設定檔 資料檔的名稱。

      注意:您可以為這些項目建立具有不同值的多個設定檔,然後指定要載入的設定檔。
      DEFAULT
      區間 (選擇性) 您 NoSQL 資料庫綱要的區間 OCID/ 區間名稱。

      注意:當您指定區間名稱時,必須使用一個冒號來指定整個階層,以分隔每個項目。
      developers:dev1.

      此處的 dev1developers. 區間下的區間



      注意:如果未指定任何值,則會預設為根區間。

      Plugin 會連線至組態檔中指定的區域。

      如果使用階段作業記號式認證,您的組態檔會包含指定的階段作業記號設定檔以及記號路徑。若要連線至 Oracle NoSQL Database Cloud Service,您必須選取組態檔選項並指定適當的設定檔。

    2. 進階:您可以直接指定連線至 Oracle NoSQL Database Cloud Service 所需的連線參數。輸入下列參數的必要值,然後選取 ADD 。然後選取確定

    表格 - 連線參數進階選項

    Parameter - 參數 描述 範例值
    連線名稱 Plugin 版本 1.5.1 中必須要有指定給特定連線規格的唯一名稱。從 1.4.0 或更新版本升級 Plugin 之後,建議您更新「連線名稱」欄位。

    注意:您可以新增多個連線,而且儲存的連線規格是永久性的。
    ndcs_con1
    端點 Oracle NoSQL Database Cloud Service 的區域網路存取點。 https://nosql.us-ashburn-1.oci.oraclecloud.com (適用於北美地區的 Ashburn Oracle NoSQL Database Cloud Service 區域識別碼)。如需服務端點的清單,請參閱資料區域與相關服務端點
    用戶 ID 與使用者 ID 您 Oracle NoSQL Database Cloud Service 之租用戶的 OCID 和使用者的 OCID。 請參閱 Oracle Cloud Infrastructure 文件中的從何處取得租用戶的 OCID 和使用者的 OCID
    指紋和密碼詞組 (選擇性) 產生並上傳 API 簽署金鑰時所建立之簽署金鑰的指紋和密碼詞組。 請參閱 Oracle Cloud Infrastructure 文件中的下列資源:

    - 若要使用選擇性密碼詞組產生簽署金鑰,請參閱如何產生 API 簽署金鑰
    - 若要取得金鑰的指紋,請參閱如何取得金鑰的指紋
    私密金鑰 為使用者產生的私密金鑰。 對於應用程式使用者,必須產生並上傳 API 簽署金鑰。請參閱如何產生 API 簽署金鑰,以使用選擇性的密碼詞組產生簽署金鑰。
    區間 (選擇性) 您 NoSQL 資料庫綱要的區間 OCID/ 區間名稱。

    注意:當您指定區間名稱時,必須以一個冒號分隔每個項目,來指定整個階層。
    developers:dev1.

    此處的 dev1developers. 區間下的區間



    注意:如果未指定值,則會預設為根區間。

    注意:

    • 從 1.5.4 版開始,IntelliJ 外掛程式會自動下載最新的 Oracle NoSQL Java SDK,並在建立連線時設定 SDK 路徑。

    • 如果您從 1.4.0 或更舊版本更新 Plugin,所有儲存的連線都會移轉至新版本。在此情況下,「連線名稱」將與「端點」相同。請依照下面的步驟來變更「連線名稱」。

  6. IntelliJ Plugin 會以指定的連線名稱儲存連線詳細資訊。若要修改連線詳細資訊,請在連線下拉式清單中選擇連線名稱。按一下修改連線。您可以變更任何連線參數 (如上所述),然後按一下確定來儲存設定值。若要從 Plugin 移除連線名稱,請選擇連線名稱,然後按一下刪除連線。確認要刪除的動作之後,就會將連線名稱自 Plugin 移除。

  7. 按一下綱要總管中的 Web 圖示。現有的連線清單會顯示在下拉式方塊中。連線名稱會以下列格式顯示在 NoSQL 工具視窗中:

    表格 - 連線顯示

    用來建立連線的選項 在 NoSQL 工具視窗中顯示
    Advanced Connection Name:Endpoint:Compartment Name/OCID (如果不是 root)
    Use Configuration File Connection Name:Configuration file path:Profile:Compartment Name/OCID (如果不是 root)

    選擇連線,然後按一下確定。IntelliJ Plugin 可將您的專案連線至 Oracle NoSQL Database Cloud Service,並在綱要總管視窗中顯示其綱要。

順利將專案連線至 Oracle NoSQL Database Cloud Service 之後,您就可以管理綱要中的表格和資料。

從 IntelliJ 連線至 Oracle NoSQL Database Cloud 模擬器

瞭解如何使用 IntelliJ 外掛程式將您的 NoSQL 專案連接到 Oracle NoSQL Database Cloud 模擬器。

請執行以下步驟:

  1. 下載並啟動 Oracle NoSQL Database Cloud 模擬器。請參閱下載 Oracle NoSQL Database Cloud 模擬器

  2. 在 IntelliJ 中開啟您的 NoSQL 專案。

  3. 按一下綱要總管視窗中的工作圖示 任務圖示,即可開啟 Plugin 的設定值對話方塊。

  4. 在「設定值總管」中展開工具 > Oracle NoSQL ,然後按一下連線。您可以在連線下拉式清單中,檢視 Cloudsim 設定檔類型的所有現有連線。

  5. 從「設定檔」類型的下拉式功能表中選取 Cloudsim

  6. 按一下新增連線。輸入下列連線參數的值,然後按一下確定

    表格 - 連線參數

    Parameter - 參數 描述 範例值
    連線名稱 Plugin 版本 1.5.1 中必須要有指定給特定連線規格的唯一名稱。從 1.4.0 或更新版本升級 Plugin 之後,建議您更新「連線名稱」欄位。

    注意:您可以新增多個連線,而且儲存的連線規格是永久性的。
    nosql_sim1
    服務 URL 執行「Oracle NoSQL Database Cloud 模擬器」的 IP 位址和連接埠。 預設值為 http://localhost:8080
    租用戶 ID 用來識別租用戶的唯一 ID。 預設值為 exampleId。如果您要測試範例,請保留這個值。

    注意:

    • 從 1.5.4 版開始,IntelliJ 外掛程式會自動下載最新的 NoSQL Java SDK,並在建立連線時設定 SDK 路徑。

    • 如果您從 1.4.0 或更舊版本更新 Plugin,所有儲存的連線都會移轉至新版本。在此情況下,「連線名稱」將與「端點」相同。請依照下面的步驟來變更「連線名稱」。

  7. IntelliJ Plugin 會以指定的連線名稱儲存連線詳細資訊。若要修改連線詳細資訊,請在連線下拉式清單中選擇連線名稱。按一下修改連線。您可以變更任何連線參數 (如上所述),然後按一下確定來儲存設定值。若要從 Plugin 移除連線名稱,請選擇連線名稱,然後按一下刪除連線。確認要刪除的動作之後,就會將連線名稱自 Plugin 移除。

  8. 按一下綱要總管中的 Web 圖示。現有的連線清單會顯示在下拉式方塊中。連線名稱會以下列格式顯示在 NoSQL 工具視窗中:

    Connection Name:service Url : Tenant Identifier

    選擇連線,然後按一下確定。IntelliJ Plugin 可將您的專案連線至 Oracle NoSQL Database Cloud 模擬器,並在綱要總管視窗中顯示其綱要。

注意:將專案連線至 Oracle NoSQL Database Cloud 模擬器之前,必須先啟動並執行專案。否則,您的連線要求將在 IntelliJ 中失敗。

順利將專案連線至 Oracle NoSQL Database Cloud 模擬器之後,就可以管理綱要中的表格和資料。

使用 Oracle NoSQL Java SDK 從 IntelliJ 建立應用程式

瞭解如何使用 Oracle NoSQL Java SDK 套件,從 IntelliJ 外掛程式建立應用程式。

連線到 Oracle NoSQL Database Cloud 模擬器或 Oracle NoSQL Database Cloud Service 之後,您就可以使用 Oracle NoSQL Java SDK 建立應用程式。

在本主題中,您將在 Oracle NoSQL Java SDK 套件中執行可用的範例應用程式,以在 Oracle NoSQL Database Cloud Simulator 或 Oracle NoSQL Database Cloud Service 中建立表格。

請執行以下步驟:

  1. GitHub 下載最新的 Oracle NoSQL Database Java SDK。

  2. 擷取 (解壓縮) 本機儲存區域中下載的檔案。

  3. 啟動 IntelliJ IDEA 並開啟您的 NoSQL 專案。

  4. 如果您使用 Maven 組建系統,請確定已在 pom.xml 中新增必要的相依性。如需詳細資訊,請參閱 Oracle NoSQL Java SDK GitHub

  5. 從擷取的 Oracle NoSQL Database Cloud Service Java SDK 目錄中,瀏覽至 oracle-nosql-java-sdk > examples 資料夾。將 BasicTableExampleCommon java 檔案複製到您的 NoSQL 專案目錄。

    BasicExampleTable 程式會建立一個名為 audienceData 的表格,在此表格中新增兩個資料列、查詢插入的資料列、刪除插入的資料列,最後刪除 audienceData 表格。

  6. 執行應用程式之前,您必須提供要連線的必要引數:

    a. 從功能表中,選取執行 > 編輯組態

    b. 選取新增組態,然後選取應用程式

    c. 在右側顯示的視窗中,在名稱 (Name) 欄位中輸入您的 main 類別。

    d. 在建立並執行底下,指定 Java JDK 路徑並輸入 main 類別。

    e. 輸入必要的程式引數。選取套用,然後選取確定

    表格 - 程式引數

    連線類型 程式引數 其他資訊
    Cloudsim http://localhost:8080 如果在不同的連接埠啟動 Oracle NoSQL Database Cloud 模擬器,您必須將 8080 取代為該連接埠號碼。
    雲端 Region [-configFile <path-to-config-file>]

    例如:

    us-ashburn-1 -configFile D:\OCI_PROP\config
    第一個引數代表 Oracle NoSQL Database Cloud Service 的資料區域。第二個引數會傳送包含連線至 Oracle NoSQL Database Cloud Service 之證明資料的組態檔。如需組態檔內容的相關資訊,請參閱連線至 Oracle NoSQL Database 的認證

    如果您未指定 config 檔案,則命令檔會使用 SignatureProvider 類別的預設建構子,該類別會尋找 config 檔案,網址為:

    $HOME/.oci
  7. 若要執行此程式,請選取「執行」或按 Shift + 10。

    注意:若要從終端機執行程式,請使用下列範例命令:

    使用下列方法,使用 maven 組建系統編譯程式:

    mvn compile

    提供程式引數來執行程式:

    mvn exec:java -Dexec.mainClass=BasicTableExample -Dexec.args="<region>"

    範例:mvn exec:java -Dexec.mainClass=BasicTableExample -Dexec.args="us-ashburn-1"

  8. 檢視底部「執行 (Run)」工具視窗中的輸出。請查看日誌以確認程式碼執行成功。您可以看到指示建立表格、插入資料列等的顯示訊息。

樣本輸出:

  Creating table audienceData
  Created table audienceData
  Put row: {"cookie_id":123,"audience_data":{"audience_segment":{"sports_lover":"2018-11-30","book_reader":"2018-12-01"},"ipaddr":"10.0.00.xxx"}} result=non-null Version
  Got row: {"cookie_id":123,"audience_data":{"audience_segment":{"sports_lover":"2018-11-30","book_reader":"2018-12-01"},"ipaddr":"10.0.00.xxx"}}
  Inserted row via query, result:
  {"NumRowsInserted":1}
  Got row inserted by query: {"cookie_id":106,"audience_data":{"audience_segment":{"foodie":"2020-06-01","sports_lover":"2020-05-10"},"ipaddr":"10.0.00.xxx"}}
  Put row from json: {"cookie_id":456,"audience_data":{"ipaddr":"10.0.00.yyy","audience_segment":{"sports_lover":"2019-01-05","foodie":"2018-12-31"}}}
  Got row inserted as JSON: {"cookie_id":456,"audience_data":{"audience_segment":{"sports_lover":"2019-01-05","foodie":"2018-12-31"},"ipaddr":"10.0.00.yyy"}}
  Query results for SELECT * from audienceData WHERE cookie_id = 456:
  {"cookie_id":456,"audience_data":{"audience_segment":{"foodie":"2018-12-31","sports_lover":"2019-01-05"},"ipaddr":"10.0.00.yyy"}}
  Deleted key {"cookie_id":456} result=true
  Dropping table audienceData

  Process finished with exit code 0

注意:由於 BasicExampleTable 會刪除插入的資料列並刪除 audienceData 表格,因此您無法在綱要總管中檢視此表格。若要在綱要總管中見到表格,請對刪除插入之資料列並刪除表格的程式碼加上註解,然後重新執行程式。

使用 IntelliJ 外掛程式管理表格

綱要總管瞭解如何在 Oracle NoSQL Database Cloud Service 或 Oracle NoSQL Database Cloud 模擬器中建立表格及檢視表格資料。

請執行以下步驟:

  1. 尋找綱要總管,然後按一下 Refresh icon 圖示以重新載入綱要。

  2. 在您的租用戶 ID 底下尋找您的表格,然後展開以檢視其資料欄、主索引鍵以及分區索引鍵詳細資訊。如果您已依照使用 IntelliJ 的 Oracle NoSQL Java SDK 建立應用程式主題中的描述建立範例應用程式,您將可以看到 audienceData 表格。

  3. 按兩下表格名稱即可檢視其資料。或者,您可以在表格上按一下滑鼠右鍵,然後選取瀏覽表格

  4. 記錄檢視器視窗會顯示在主要編輯器中。按一下執行以執行查詢並顯示表格資料。

  5. 若要個別檢視個別儲存格資料,請按兩下儲存格。

使用 IntelliJ 執行 DDL 作業

您可以使用 IntelliJ 執行 DDL 作業。

可從 IntelliJ 外掛程式內部執行的部分 DDL 作業為

CREATE TABLE

DROP TABLE

CREATE INDEX

DROP INDEX

新增欄

刪除欄

凍結 / 取消凍結綱要

您必須先凍結單一表格的綱要,才能讓它成為「全域作用中」表格。凍結表格的綱要之後,就無法對綱要進行任何變更。若要凍結單一表格的綱要,至少必須要有一個 JSON 資料欄。在表格上按一下滑鼠右鍵,然後選擇凍結 / 取消凍結。確認之後,就會凍結表格的綱要。同樣地,若要取消凍結表格的綱要,請在表格上按一下滑鼠右鍵,然後選擇凍結 / 取消凍結。確認之後,表格的綱要會變更回可變,這表示可以更改綱要。

注意:必須先刪除表格區域複本 (表格必須是單一表格),才能執行取消凍結作業。

管理複本

請參閱區域表格複本,瞭解複本為何,以及如何透過新增區域複本,將單一表格轉換成全域作用中表格。

新增複本

您可以新增區域複本至單一表格、使其成為全域作用中表格,或新增複本至現有的全域作用中表格。新增複本至表格之前,應該先將表格凍結。在表格上按一下滑鼠右鍵,然後從區域複本中選擇新增複本。您可以從複製區域的下拉式清單中選擇複本。您可以決定複製區域中表格的「讀取單位」和「寫入單位」。無法在複本中變更 / 編輯表格的「磁碟儲存」值。按一下新增複本。表格會在區域中複製。

檢視複本

在表格上按一下滑鼠右鍵,然後從區域複本中選擇檢視複本。您可以檢視表格的複本清單。

刪除複本

在表格上按一下滑鼠右鍵,然後從區域複本中選擇刪除複本。按一下新增,然後選擇要移除的複本。您可以選擇一次刪除一個以上的複本。如果您要將複本從需要刪除的複本清單中移除,請按一下移除。按一下刪除複本。確認之後,就會從所有選取的複本刪除表格。

編輯保留的容量

您可以編輯表格的保留產能與使用量模型。在表格上按一下滑鼠右鍵,然後選擇編輯保留的容量。您可以選擇兩種容量模式之一 - 佈建容量或隨選容量。編輯值並按一下套用變更

如果編輯的表格是「全域作用中」表格:

使用 IntelliJ 執行 DML 作業

您可以使用 IntelliJ 外掛程式從表格新增資料、修改現有資料和查詢資料。

插入數據

修改資料 - UPDATE 資料列 / 刪除資料列

查詢表

注意:下拉式清單只會顯示與您目前處理之表格相關的 SQL 敘述句。

綱要總管

綱要總管視窗中,您可以驗證特定資料欄的完整資料類型。找出特定資料欄,而資料類型後面接著資料欄名稱。

IntelliJ 外掛程式的授權需求

瞭解 Oracle NoSQL Database Cloud Service 使用 IntelliJ Plugin 所需的授權需求。

IntelliJ 外掛程式可讓您使用 API 金鑰認證或階段作業記號認證方法,來存取 Oracle NoSQL Database Cloud Service。透過 Identity and Access Management (IAM) 原則管理對 Oracle NoSQL Database Cloud Service (例如表格、表格空間和 API) 資源的存取。這可確保只有經過認證的使用者 (具備適當檢查、讀取、使用或管理指定區間中表格權限的群組成員) 才能與這些資源互動。如需詳細資訊,請參閱管理 NDCS 表格的存取權

使用 IntelliJ 外掛程式管理 Oracle NoSQL Database Cloud Service 表格中的表格時,您的有效 IAM 權限會決定您可以讀取或寫入哪些資源。如果使用者嘗試執行沒有授權的動作,IntelliJ 外掛程式將會傳回 OCI IAM 所提供的對應授權錯誤。

例如,如果您的使用者群組只有 NoSQL 表格的「讀取」權限,OCI IAM 就會拒絕 Oracle NoSQL Database Cloud Service 表格上的任何插入作業。在 IntelliJ 外掛程式中顯示下列錯誤訊息:

Error executing Insert Row : Authorization failed or requested resource not found (5.4.18)