Knowledge Catalog (舊稱 Dataplex Universal Catalog) 中繼資料異動動態饋給可讓您近乎即時追蹤組織、專案或項目群組中項目和切面的中繼資料異動,並建構事件導向工作流程。如要建立及管理這些動態饋給,請參閱「透過中繼資料變更動態饋給接收通知」。
中繼資料變更動態饋給的運作方式
在 Knowledge Catalog 中,項目代表資料資產 (例如 BigQuery 資料表),切面則是一組附加至項目的相關中繼資料欄位,用於描述該項目。建立、更新或刪除項目或切面時,Knowledge Catalog 會將通知訊息發布至您指定的 Pub/Sub 主題。這類通知也稱為中繼資料變更動態饋給,其中包含變更相關資訊。包括變更時間、變更的資源和變更類型。如要進一步瞭解項目和切面,請參閱「關於 Knowledge Catalog 的中繼資料管理」。
下列架構圖顯示 Knowledge Catalog 如何擷取中繼資料變更 (建立、更新、刪除),並將這些變更推送至 Pub/Sub,以便用於下游事件導向工作流程。
如要控管哪些變更會產生通知,您可以設定中繼資料變更動態饋給,監控特定資源。方法是指定範圍,例如整個組織、特定專案或特定項目群組。範圍可定義要監控哪些資源,篩選器則可進一步精確指定 Knowledge Catalog 傳送通知的時機。舉例來說,您可能只想在 bigquery-table 類型的資料表更新時收到通知,但在建立或刪除時不收到通知。如要這麼做,您可以根據項目類型、切面類型或變更類型 (CREATE、UPDATE 或 DELETE),對中繼資料異動動態饋給套用一或多個篩選器。
舉例來說,某間線上零售公司使用 BigQuery,在專屬專案中管理產品庫存。為了只監控庫存資料表的結構定義變更,他們建立了中繼資料異動動態饋給,並將專案設為範圍,然後套用 entry_type=bigquery-table 和 change_type=UPDATE 篩選器。如果重要資料表 (例如 product_stock) 的結構定義更新,這項變更會產生與中繼資料變更動態饋給篩選器相符的 UPDATE 通知。接著,中繼資料變更動態饋給會傳送通知至 Pub/Sub 主題。訂閱這個 Pub/Sub 主題的自動化工作流程,可以立即暫停下游報表管道,並通知商品目錄管理團隊,避免根據不一致的資料做出決策。
中繼資料異動饋送用途
中繼資料異動動態饋給有多種用途,包括:
- 中繼資料同步:持續將 Knowledge Catalog 中繼資料變更同步至外部或第三方 Data Catalog 或搜尋索引。
- 政策強制執行:當項目的資料分類層面變更時,自動套用或更新安全性政策。
- 資料品質自動化:在資料表結構定義變更時,觸發資料品質掃描或向資料擁有者發出快訊。
- ETL/ELT 觸發:建立或更新新的資料表項目時,啟動資料轉換工作。
- 稽核:將所有中繼資料變更記錄到稽核資料表,以符合法規遵循要求。
核心概念和設定
中繼資料異動動態饋給是 Knowledge Catalog 資源,可監控項目和切面的中繼資料異動 (建立、更新、刪除),並將通知傳送至 Pub/Sub 主題。在 API 中,這項資源稱為 metadataFeeds (projects/PROJECT_ID/locations/LOCATION/metadataFeeds/FEED_ID)。
您可以定義中繼資料變更動態饋給的範圍、篩選器和目的地,藉此設定動態饋給。如果中繼資料變更符合中繼資料變更動態饋給的範圍和篩選器,Knowledge Catalog 就會將通知訊息發布至目的地 Pub/Sub 主題。
中繼資料變更動態饋給設定
您可以定義下列項目,設定中繼資料異動動態饋給:
範圍:要監控異動的一組資源,例如整個組織、特定專案或特定項目群組。您可以在 API 中指定資源名稱。以下範例顯示項目群組的資源名稱格式:
projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID。篩選器:根據項目類型、切面類型或變更類型 (
CREATE、UPDATE或DELETE),篩選哪些變更會產生通知的條件。在 API 中,您需要指定資源名稱。以下範例顯示項目類型的資源名稱格式:projects/PROJECT_ID/locations/global/entryTypes/ENTRY_TYPE。如未指定任何篩選器,則動態饋給範圍內的所有變更類型 (CREATE、UPDATE和DELETE) 都會產生通知。目的地:Knowledge Catalog 發布通知訊息的 Pub/Sub 主題。您可以在 API 中指定主題名稱。以下範例顯示 Pub/Sub 主題的資源名稱格式:
projects/PROJECT_ID/topics/TOPIC_ID。
以下範例顯示中繼資料異動動態饋給,設定為監控專案 PROJECT_ID_1 和 PROJECT_ID_2 的 CREATE 事件,並將通知傳送至 TOPIC_ID:
{
"scope": {
"projects": [
"projects/PROJECT_ID_1",
"projects/PROJECT_ID_2"
]
},
"filter": {
"changeTypes": [
"CREATE"
]
},
"pubsubTopic": "projects/PROJECT_ID_PUBSUB/topics/TOPIC_ID"
}
通知訊息格式
中繼資料變更觸發通知時,Knowledge Catalog 會將訊息發布至指定的 Pub/Sub 主題。變更事件詳細資料會記錄在 Pub/Sub 訊息中。訊息包含用於篩選的屬性,以及含有變更詳細資料的資料酬載。
如要進一步瞭解如何使用這些訊息,請參閱「使用通知訊息」。
屬性
這些屬性可用來篩選主題中的訊息。您可以使用 Pub/Sub 訂閱項目篩選器,篩選訂閱項目中的訊息。
屬性中提供下列欄位:
timestamp:變更發生的時間戳記。entry_name:項目的資源名稱,格式為projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID/entries/ENTRY_ID。feed_name:中繼資料異動動態饋給的資源名稱,格式為projects/PROJECT_ID/locations/LOCATION/metadataChangeFeeds/FEED_ID。entry_type:項目類型的資源名稱,格式為projects/PROJECT_NUMBER/locations/LOCATION/entryTypes/ENTRY_TYPE_ID。詳情請參閱「項目類型」。entry_change_type:變更類型:CREATED、UPDATED或DELETED。
以下範例顯示項目建立事件的屬性:
{
"feed_name": "projects/PROJECT_ID/locations/LOCATION/metadataFeeds/FEED_ID",
"entry_change_type": "CREATE",
"timestamp": "2026-02-03T23:12:03.054469Z",
"entry_type": "projects/PROJECT_NUMBER/locations/global/entryTypes/ENTRY_TYPE_ID"
}
資料酬載
Pub/Sub 訊息的資料酬載是 JSON 字串,其中包含變更的詳細資料。
以下是資料酬載範例:
{
"entryName": "projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID/entries/ENTRY_ID",
"fullyQualifiedName": "bigquery:PROJECT_ID.DATASET_ID.TABLE_ID",
"updatedAspects": [
"projects/PROJECT_NUMBER/locations/global/aspectTypes/updated-aspect-type"
],
"createdAspects": [
"projects/PROJECT_NUMBER/locations/global/aspectTypes/created-aspect-type"
],
"deletedAspects": [
"projects/PROJECT_NUMBER/locations/global/aspectTypes/deleted-aspect-type"
]
}
VPC Service Controls 注意事項
中繼資料異動動態饋給符合 VPC Service Controls (VPC-SC) 規範。
如果中繼資料異動動態饋給的範圍是組織,則只有中繼資料異動動態饋給的 VPC Service Controls 範圍內的專案會產生通知。
如果中繼資料變更動態饋給的範圍是專案或項目群組,則所有指定的專案或項目群組必須與中繼資料變更動態饋給位於相同的 VPC Service Controls 範圍,否則中繼資料變更動態饋給建立作業會失敗。
配額與限制
如要瞭解中繼資料異動動態饋給的相關配額,請參閱「Knowledge Catalog 配額和限制」。
請查看下列中繼資料異動動態饋給限制:
傳送:中繼資料變更動態饋給會以「至少一次」的方式傳送通知。您必須在訂閱者中處理可能重複的訊息。
排序:Knowledge Catalog 不保證訊息傳送順序。
延遲時間:中繼資料變更動態饋給通知近乎即時。
啟用延遲:由於後端快取,新建立或更新的中繼資料異動動態饋給設定最多可能需要 10 分鐘才會生效。
酬載:初始通知訊息只包含變更簽章。例如項目名稱、項目類型、變更類型,以及變更的切面類型或索引鍵清單,不含實際變更的資料 (切面酬載)。如有需要,您必須呼叫 Dataplex API (
GetEntry) 擷取項目或切面的目前狀態。一般儲存空間層面:中繼資料變更動態饋給不支援一般儲存空間層面。
定價
Knowledge Catalog 提供中繼資料異動動態饋給,不需額外付費。不過,您仍須支付所用資源的費用,例如 Pub/Sub 訊息傳遞、儲存和資料輸出。詳情請參閱「Pub/Sub 定價」。