本文將示範如何將 Azure SQL 受控執行個體 變更資料擷取(CDC)來源加入事件串流。
Microsoft Fabric 事件串流的 Azure SQL 受控執行個體 CDC 原始碼連接器允許您擷取 SQL 受管理執行個體 資料庫中當前資料的快照。 接著,連接器會監視並記錄此資料的任何未來資料列層級變更。 一旦變更被記錄在事件串流中,你可以即時處理這些 CDC 資料,並將其傳送到 Fabric 內的不同目的地進行進一步處理或分析。
備註
透過 DeltaFlow(預覽版),你可以將原始的 Debezium CDC 事件轉換成可分析的串流,鏡像你的來源資料表結構。 DeltaFlow 自動化結構註冊、目的資料表管理及架構演化處理。 要使用 DeltaFlow,請在結構處理步驟中選擇「分析就緒事件和自動更新的結構」。
先決條件
- 以 Fabric 容量授權模式(或)試用授權模式(Contributor 或更高權限)存取工作空間。
- 一個正在運行的 Azure SQL 受控執行個體 資料庫。
- 你的 Azure SQL 受控執行個體 應該啟用公開端點,而不是設在防火牆後面或虛擬網路中。 如果它沒有啟用公用端點且處於被保護的網路,請使用 Eventstream 連接器虛擬網路注入進行連接。
- 透過執行儲存程序
sys.sp_cdc_enable_db,在你的Azure SQL 受控執行個體中啟用 CDC。 如需詳細資料,請參閱啟用和停用異動資料擷取。
在你的 Azure SQL 管理實例中啟用 public endpoint
前往Azure入口網站,開啟你的Azure SQL管理實例,選擇Networking,並啟用公共端點。
喺你嘅 Azure SQL 管理實例中啟用 CDC
啟用資料庫的 CDC。
EXEC sys.sp_cdc_enable_db;透過閘道角色選項為資料表啟用 CDC。 在此範例中,
MyTable是 SQL 資料表的名稱。EXEC sys.sp_cdc_enable_table @source_schema = N'dbo', @source_name = N'MyTable', @role_name = NULL GO查詢成功執行後,你在 Azure SQL 管理實例中啟用了 CDC。
將 Azure SQL 托管實例 CDC 添加為來源
如果你還沒在事件串流中新增任何來源,請選擇 「連接資料來源 」磁貼。 你也可以選擇在色帶上選擇「新增來源>」連接資料來源。
如果你是將原始碼加入已發布的事件串流,請切換到 編輯 模式。 在功能區上,選擇 新增來源>連接資料來源。
在 選擇資料來源頁面,搜尋並選擇 Azure SQL MI 資料庫(DB)變更資料擷取(CDC)圖塊上的 Connect。
配置並連接至 Azure SQL 受控執行個體 CDC
透過 CDC 自動表結構註冊,從 Azure SQL 受控執行個體 資料庫中將變更資料匯入 Eventstream。
備註
DeltaFlow(預覽):當你在結構處理步驟選擇分析 就緒事件與自動更新的結構 時,DeltaFlow 會將原始的 Debezium CDC 事件轉換成分析準備的串流,鏡像你的來源資料表結構。 DeltaFlow 也自動化目的資料表建立與結構演化處理。
在連線頁面上,選取新增連線。
在Connection settings區塊,輸入以下Azure SQL 受控執行個體數值:
向下卷動,然後在 [ 連線認證 ] 區段中,遵循下列步驟。
對於連線名稱,請輸入連線的名稱。
針對 [ 驗證種類],選取 [ 基本]。
備註
目前,Fabric Eventstream 僅支援 Basic認證。
輸入 Username 和 Password 用於 Azure SQL 受控執行個體。
選取頁面底部的 [連線]。
現在,在 [連線] 頁面上,選取 [所有資料表],或 [輸入資料表名稱]。 如果您選取後者,請使用完整資料表標識碼 (
schemaName.tableName) 或有效正則表達式的逗號分隔清單來指定資料表。 例如:- 使用
dbo.test.*來選取名稱開頭為dbo.test的所有數據表。 - 使用
dbo\.(test1|test2)來選取dbo.test1並dbo.test2。
您可以在清單中合併這兩種格式。 整個專案的字元總計限製為 102,400 個字元。
- 使用
展開 進階設定 以設定十進位處理模式,此模式指定連接器如何處理
DECIMAL及NUMERIC欄位值:-
Precise:使用精確的十進位類型(例如 JavaBigDecimal)來表示數值,以確保資料表示的完全精確與準確度。 -
Double:將值轉換成雙精確度浮點數。 此選項提升了可用性與效能,但可能導致精度下降。 -
String:將值編碼為格式化字串。 此選項使得下游系統容易使用,但會失去原始數字類型的語意資訊。
-
串流或來源詳情
在 Connect 頁面,根據你使用的是 Eventstream 還是 Real-Time hub,依照以下步驟進行。
Eventstream:
在右側 的來源詳情 窗格中,請依照以下步驟操作:
對於 來源名稱,請選擇 鉛筆 按鈕來更改名稱。
請注意,事件流名稱 和 串流名稱 為唯讀。
實時樞紐:
在右側的 [串流詳細數據 ] 區段中,遵循下列步驟:
選擇你想建立事件串流的 Fabric workspace。
對於 事件串流名稱,請選擇 鉛筆 按鈕,並輸入事件串流的名稱。
串流名稱的值會自動為您生成,方法是將-stream附加到事件流名稱上。 當嚮導結束時,這條串流會出現在即時集線器的 「所有資料串流」 頁面上。
在「配置」頁面底部選擇「下一步」。
評論與連結
在 Review + connect 畫面,檢視摘要,選擇 新增 (事件串流)或 連接 (Real-Time hub)。
模式處理頁面
在 結構處理 步驟中,請選擇以下選項之一:
- 分析就緒事件與自動更新結構(DeltaFlow 預覽):連接器將原始 CDC 事件轉換成分析準備的串流,鏡像你的來源資料表結構。 DeltaFlow 透過變更類型(插入、更新或刪除)和時間戳記等元資料豐富事件,並自動管理目的資料表與結構演進。
- 原始 CDC 事件:連接器會接收並提供原始 CDC 事件。 連接器可選擇性地自動發現資料表結構並將其登錄在結構登錄檔中。 當您想要架構感知但不要 DeltaFlow 轉換時,請使用此選項。
備註
以下截圖顯示的是 Azure SQL Database CDC。 所有支援的 CDC 來源連接器的結構處理選項相同。
啟用 事件結構描述關聯。
在 Workspace,為架構集合選擇一個 Fabric 工作區。
對於 結構描述集,預設會選取 + 建立 ,這會建立新的結構描述集。 您可以變更它以選取現有的事件結構描述集。
如果您在上一個步驟中選取 [+ 建立 ] 選項,請輸入結構描述集的名稱。
在 Review + Connect 頁面,查看摘要,然後選擇 新增 (事件串流)或 連接 (Real-Time hub)。
對於 Azure SQL 受控執行個體 資料庫中所有資料表或選取的資料表,連接器會自動發現並建立結構,並將其註冊到結構登錄檔。
DeltaFlow:分析支援事件轉換(預覽)
啟用 Analytics-ready 事件與自動更新結構(DeltaFlow)時,連接器提供以下功能:
-
分析就緒事件形態:原始 Debezium CDC 事件會轉換成與來源資料表結構相符的表格格式。 事件會以中繼資料欄位豐富,包括變更類型(
insert、update或delete)及事件時間戳記。 - 自動目的地資料表管理:當你將支援 DeltaFlow 的串流路由到支援的目的地(如事件屋)時,目的地資料表會自動建立以符合來源資料表結構。 你不需要手動建立或設定目的資料表。
- 結構演化處理:當來源資料庫資料表變更(例如新增欄位或建立資料表)時,DeltaFlow 會自動偵測變更,更新註冊的結構,並相應調整目標資料表。 此選項可減少因結構變更而產生的人工介入。
備註
DeltaFlow(預覽版)目前支援於 Azure SQL Database CDC、Azure SQL 受控執行個體 CDC、SQL Server on VM CDC 及 PostgreSQL CDC 來源連接器。
關於 DeltaFlow 如何將原始 CDC 事件轉換為分析可用輸出(包括操作類型與元資料欄位)的詳細資訊,請參見 DeltaFlow 輸出轉換。
檢視更新的事件串流
你可以在Edit模式下看到Azure SQL MI DB(CDC)來源被加入你的事件串流。
要實作這個新加入的 Azure SQL 受控執行個體 來源,請選擇 Publish。 完成這些步驟後,您的Azure SQL 受控執行個體來源即可在 Live View 中進行視覺化。
設定 Eventstream 的目的地來使用結構
目前,僅支援 Eventhouse、自訂端點及衍生串流目的地,以供相關結構的事件串流使用。 本節說明如何在為事件資料流啟用擴充功能 (例如結構描述支援) 時新增和設定 Eventhouse 目的地。
備註
當你使用 DeltaFlow(預覽版) 搭配支援的變更資料擷取(CDC)來源時,事件屋中的目標資料表會自動建立並管理,使其結構與來源資料表相符。 你不需要手動設定目的地資料表的結構。 當來源資料表變更時,DeltaFlow 也能自動處理結構演化。
設定自訂端點目的地的架構
選擇 轉換事件或新增目的地,然後選擇 自訂端點。
在 自訂端點 面板中,指定目的地名稱。
針對 輸入架構,選取事件的架構。 啟用事件串流的結構支援時,你會在這個框中選擇。
如需設定自訂端點目的地的詳細步驟,請參閱將 自訂端點或自訂應用程式目的地新增至事件串流。
設定 Eventhouse 作為目的地的架構
選取 [轉換事件] 或 [新增目的地],然後選取 [Eventhouse]。
在 Eventhouse 窗格中,設定以下與結構相關的設定:
關於如何設定活動屋目的地的詳細步驟,請參見 「將活動屋目的地加入事件串流」。
檢視 DeltaFlow 分析就緒輸出(預覽)
如果啟用了分析就緒事件與自動更新結構(DeltaFlow),目標資料表會自動建立,其結構會鏡像您的來源資料庫資料表。 每個資料表都包含原始欄位,以及變更類型和時間戳記的元資料欄位。
備註
以下截圖顯示的是 Azure SQL Database CDC。 DeltaFlow 目的地表的輸出對所有支援的 CDC 來源連接器相同。
你可以使用 Kusto 查詢語言(KQL)或其他分析工具查詢這些資料表,無需解析原始的 Debezium CDC 有效載荷。
相關內容
其他連接器: