Skip to main content
Apache Kafka 端口允許透過向 Apache Kafka 推送資料或從 Apache Kafka 拉取資料,將 Apache Kafka 整合到資料流中。

核心功能

  • 具有生產和消費能力的即時訊息流
  • 多種身分驗證方案,包括 SASL 和 Kerberos
  • 基於主題的訊息組織與消費者組管理
  • 可配置的讀取時長,用於控制等待訊息到達的時間
按照以下步驟將知行之橋連線到 Apache Kafka。

前提條件

要與 Apache Kafka 建立連線,使用者至少必須具備:
  • 一個 Apache Kafka 環境,其中包含有效的 Apache Kafka 主機伺服器和伺服器管理器(broker,通常是 Zookeeper 或 KRaft)。
  • 從 Apache Kafka 主機到包含目標主題的叢集中所有 Apache Kafka 伺服器和伺服器管理器的網路連線。
  • 在 Apache Kafka 中建立的主題,用於向伺服器傳送訊息和從伺服器接收訊息。
  • 從知行之橋到 Apache Kafka 伺服器的清晰網路路徑。
知行軟體不提供 Apache Kafka 伺服器或伺服器管理器的建立或配置方面的設定協助或支援。有關 Apache Kafka 環境設定的資訊,請參閱 Apache Kafka 文件。

建立連線

要允許知行之橋使用 Apache Kafka 中的資料,必須先建立到 Apache Kafka 的連線。有兩種方法可以建立此連線:
  • 將 Apache Kafka 端口新增到工作流程。然後,在 設定 索引標籤中,單擊連線下拉式清單旁邊的 建立
  • 開啟知行之橋系統設定 頁面,然後開啟 連線 索引標籤。點選 新增,選擇 Apache Kafka,然後點選 下一步
  • 僅在第一次建立連線時才需要登入過程。
  • 與 Apache Kafka 的連線可以跨多個 Apache Kafka 端口重複使用。

輸入連線設定

開啟新的連線對話方塊後,按照以下步驟操作:
  1. 提供所需資訊:
    • 名稱 — 連線的靜態名稱。
    • 型別 — 始終設定為 Apache Kafka。
    • 身分驗證方案 — 用於連線的授權方案。選項有 AutoNonePlainScramKerberos
    • 使用者 —(除 None 之外的所有方案)用於登入的 Apache Kafka 使用者名稱。
    • 密碼 — 上面輸入使用者的密碼。
    • Bootstrap Servers — 用於建立到 Apache Kafka 初始連線的主機/端口對。如果連線到 Confluent Cloud,可以在叢集設定中找到此資訊。
  2. 可選擇點選 高階 以開啟高階連線設定的下拉功能表。在大多數情況下,不需要這些設定。
  3. 點選 測試連線 以確保知行之橋可以使用提供的資訊連線到 Apache Kafka。如果發生錯誤,請檢查所有欄位並重試。
  4. 點選 新增連線 以完成連線。
  5. 在端口配置窗格的 連線 下拉式清單中,選擇新增的連線。
  6. Topic 欄位中,輸入要作為目標的 Apache Kafka 主題。
  7. 點選 儲存更改
高階 索引標籤上還有特定於資料來源的身分驗證和配置選項。此文件並未描述所有這些選項,但你可以在知行軟體網站的 線上幫助檔案 頁面找到資料來源的詳細資訊。

選擇操作

與 Apache Kafka 建立連線後,必須選擇 Apache Kafka 端口應執行的操作。下表概觀了每個操作及其在知行之橋工作流程中的位置:

生產

生產 操作將輸入資料傳送到 Apache Kafka。此資料可以來自其他端口,也可以來自你手動上傳到 Apache Kafka 端口輸入索引標籤的檔案。Apache Kafka 端口會將輸入資料傳送到你在 配置 部分的 Topic 欄位中輸入的主題。

高階訊息鍵和分割區配置

Apache Kafka 端口在向 Kafka 主題生產訊息時支援指定訊息鍵和分割區,從而在多分割區環境中提供對訊息分發和排序的細粒度控制。
訊息鍵配置
可以使用知行之橋訊息頭 MessageKey 來指定 Kafka 訊息鍵,或者透過 高階 索引標籤中進階設定部分的 Key Header 欄位來告知知行之橋使用輸入訊息上的哪個標頭來確定訊息鍵。此鍵決定訊息傳送到哪個分割區,並確保分割區內的訊息排序。
分割區配置
可以使用以下可選設定來控制哪個分割區接收訊息:
  • Partition Header: 定義端口用於設定分割區的訊息頭。預設標頭名稱為 MessagePartition,但可以使用包含所需分割區的任何訊息頭來覆蓋它。
  • Partition:高階 索引標籤的進階設定部分提供分割區編號。
  • 如果同時存在分割區標頭和特定分割區編號,則訊息頭優先。
  • 如果既沒有指定訊息鍵也沒有指定分割區,Kafka 將在目標主題的所有分割區中分發訊息。

消費

消費 操作會針對你在 配置 部分的 Topic 欄位中輸入的主題檢查 Apache Kafka 佇列中的訊息。你必須為此操作設定以下欄位:
  • Consumer Group ID:指定端口建立的消費者應該屬於哪個組。
  • Read Duration:端口等待訊息到達的時間長度(以秒為單位)。無論收到的訊息數量如何,端口都將等待整個持續時間。
透過 消費 端口處理的資料進入輸出索引標籤,並向下傳輸到知行之橋工作流程的下一個步驟。

其他連線配置

進階選項卡

進階設定

訊息

儲存至 Sent 資料夾Sent 資料夾方案設定已棄用,預設處於隱藏狀態。只有先前已啟用這些設定或將其配置為非預設值的端口才會顯示它們。若要保留成功處理的檔案副本,請在工作流程中右鍵單擊該端口,選擇顯示成功路徑,然後將成功路徑連線到File 端口

日誌

其他

其他設定用於特定用例。

自動化索引標籤

自動化設定

與端口自動處理檔案相關的設定。

效能

與端口資源分配相關的設定。

警示索引標籤

與配置警示和服務級別協議 (SLA) 相關的設定。

端口電子郵件設定

在執行 SLA 之前,需要設定用於通知的電子郵件警示。點選 配置警示 會開啟一個新的瀏覽器視窗並轉到設定頁面,你可以在其中設定系統範圍的警示。有關更多資訊,請參閱警示

服務級別協議 (SLA) 設定

SLA 允許你配置工作流程中的端口預期傳送或接收的數量,並設定期望滿足該數量的時間範圍。當 SLA 未滿足時,知行之橋會傳送電子郵件提醒使用者,並將 SLA 標記為 At Risk,這意味著如果 SLA 很快仍未滿足,它將被標記為 Violated。這讓使用者有機會介入並確定 SLA 未滿足的原因,並採取適當措施。如果在風險期結束時 SLA 仍未滿足,則 SLA 會被標記為違反,並再次通知使用者。 要定義 SLA,請點選 新增預期數量條件
  • 如果端口具有單獨的傳送和接收操作,請使用選項按鈕指定 SLA 適用於哪個方向。
  • Expect at least 設定為你期望處理的最小交易數(數量),然後使用 Every 欄位指定時間範圍。
  • 預設情況下,SLA 每天生效。要更改此設定,請取消選中 Everyday,然後選中所需的星期幾。
  • 使用 And set status to ‘At Risk’ 指定 SLA 應何時標記為存在風險。
  • 預設情況下,只有當 SLA 違反時才傳送通知。要更改此設定,請勾選 Send an ‘At Risk’ notification
以下範例顯示了一個 SLA 配置:該端口預計在週一至週五每天接收 1000 個檔案。如果在時間段結束前 1 小時仍未收到 1000 個檔案,則會傳送風險通知。 SLA 配置範例
如有必要,可以關閉 SLA 警示。這在維護時段可能很有用。點選導覽列上的 設定,然後導航到 警示 > 常規警示。點選平板和鉛筆圖示進行編輯,並取消勾選 SLA 警示 設定。

在檔案命名策略中使用宏可以提高組織效率,並有助於理解資料上下文。透過在檔名中加入宏,可以動態包含識別碼、時間戳和標頭資訊等相關資訊,為每個檔案提供有價值的上下文。這有助於確保檔名反映對組織很重要的詳細資訊。 知行之橋支援以下宏,它們都使用以下語法:%Macro%

範例

某些宏(如 %Ext% 和 %ShortDate%)不需要參數,但其他宏需要參數。所有帶參數的宏都使用以下語法:%Macro:argument% 以下是一些帶參數宏的範例:
  • %Header:headername%:其中 headername 是訊息上的標頭名稱。
  • %Header:mycustomheader% 解析為輸入訊息上設定的 mycustomheader 標頭值。
  • %Header:ponum% 解析為輸入訊息上設定的 ponum 標頭值。
  • %RegexFilename:pattern%:其中 pattern 是規則運算式模式。例如,%RegexFilename:^([\\w][A-Za-z]+)% 匹配並解析為檔名中的第一個單詞,且不區分大小寫(test_file.xml 解析為 test)。
  • %Vault:vaultitem%:其中 vaultitem保管庫中的專案名稱。例如,%Vault:companyname% 解析為保管庫中儲存的 companyname 項的值。
  • %DateFormat:format%:其中 format 是接受的日期格式(詳情請參閱日期格式範例)。例如,%DateFormat:yyyy-MM-dd-HH-mm-ss-fff% 解析為檔案上的日期和時間戳。
還可以建立更復雜的宏,如以下範例所示:
  • 在一個檔名中組合多個宏:%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%%EXT%
  • 在宏外包含文字:MyFile_%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%
  • 在宏內包含文字:%DateFormat:'DateProcessed-'yyyy-MM-dd_'TimeProcessed-'HH-mm-ss%