瞭解設定應用程式通知
有了可以顯示所傳送內容的訂閱,我們就能夠專注在建置應用程式以建立通知,而非只使用 OCI 事件。
有許多方法可以測試從屬端通知產生。對於此示範,您可以利用開源日誌模擬器工具,一開始就是為模擬日誌事件所建置,但完全符合需求。另一個選項是在此使用簡易的 Java / Groovy 應用程式 (後者是從前者衍生與簡化)。使用 Groovy 實作程式碼開發,因為它可以快速且輕鬆地執行和修改。不過,程式碼符合 Java 規範,因此您可以建立 Java 組建處理作業,或修改程式碼以使用 Java 擱置狀態功能。本文其餘部分將假設使用 Groovy。
設定必要設定
需要安裝並設定某些第三方應用程式。
需要安裝 Java (版本 8 或更新版本) 以及 Groovy (版本 3 或更新版本)。必須下載 OCI Java SDK 並複製到與 Groovy 命令檔相同的資料夾中。設定 Java 和 Groovy 時,請確定它們可在您的 PATH 環境變數中看到。
只要下載所有內容,我們就需要完成一些組態資訊才能連線到 OCI,然後將訊息傳送至正確的「通知」主題。第一部分是建立可供 SDK 用於與 OCI 連線及認證的組態檔 (為了方便起見,建議將它放在將用來執行 Groovy 命令檔的相同目錄中,名稱為 oci.properties)。因此,您應該有如下所示的內容:
[DEFAULT]
user=ocid1.user.oc1..aaaaaaaajbbbbbbbbbccccccccccccdddddddddddddd
fingerprint=aa:bb:cc:dd:ee:11:22:33:44:55:66:77:1a:1b:1c:1d
tenancy=ocid1.tenancy.oc1..aaaaaaaajjjjjjkkkkkkkkklllllllmmmmmmmnnn
region=us-ashburn-1
key_file=~/mykey.pem設定金鑰檔案時,請記住以確保檔案權限正確;否則,連線過程中將會拒絕該檔案,因為太不安全。
下一個組態適用於我們的從屬端應用程式,因此可知道要與哪些主題通訊。做法是建立下列環境變數 (使用 set for Windows 命令,而 Linux 的 export 命令):
TOPICOCID=ocid1.onstopic.oc1.iad.oooooooooopppppppppppppqqqqqqqqqqrrrrrrrrssss
OCICONFIGFILE=oci.properties
REGION=us-ashburn-1
CLASSPATH=./lib/*所提供的主題 OCID 是先前所建立主題的 OCID。在初始化過程中,會將 OCICONFIGFILE 傳送至 SDK。Groovy 和 Java 需要 CLASSPATH 來尋找 SDK lib 資料夾。認證與主題組態區域可能不同,因此我們再次提供 REGION。
執行從屬端
所有設定現在,我們都能執行我們的測試從屬端。
使用命令:
groovy CustomOCINotificationsOutputter.groovy我們現在應該會看到從從屬端傳送至「通知」主題的通知,這個主題會將訊息傳送到我們的 Slack 通道。
關於我們的客戶
我們已對客戶代碼加上評論,但我們很快就能完成工作。
Groovy 程式碼包含一個有 main 方法的單一類別,可初始化 OCINotificationsOutputter 類別的執行處理,然後初始化物件執行處理。此初始化會建立一個用於將通知傳送至 OCI 的 SDK 從屬端物件。
讀取基本連線之後,main 方法會進入無限迴圈,將文字字串傳送到「通知」物件。這會新增至輸出批次。由於我們硬式將此輸出至 1,因此它會立即使用 SDK 靜態處理站方法建構訊息,然後透過 SDK 呼叫相關的 OCI API。然後睡了 5 秒。SDK 從屬端與建立 OCI 通知物件都會重度使用產生器設計樣式。