本文將概述 Dataplex Universal Catalog 中繼資料變更記錄。您可以透過這些中繼資料變更動態饋給,近乎即時地追蹤 Dataplex Universal Catalog 執行個體中的中繼資料變更,並根據這些變更建構事件驅動的工作流程。
自動監控中繼資料變更
在 Dataplex Universal Catalog 中,項目代表資料資產 (例如 BigQuery 資料表),切面則是一組附加至項目的相關中繼資料欄位,用於說明項目。建立、更新或刪除項目或切面時,Dataplex Universal Catalog 會將通知訊息發布至您指定的 Pub/Sub 主題。這類通知也稱為中繼資料變更動態饋給,內含變更相關資訊。包括變更時間、變更的資源,以及變更類型。如要進一步瞭解項目和切面,請參閱「關於 Dataplex Universal Catalog 中的中繼資料管理」。
下方的架構圖顯示 Dataplex Universal Catalog 如何擷取中繼資料變更 (建立、更新、刪除),並將這些變更推送至 Pub/Sub,以供下游事件驅動的工作流程使用。
如要控管哪些變更會產生通知,您可以設定中繼資料變更動態饋給,監控特定資源。方法是指定範圍,例如整個機構、特定專案或特定項目群組。範圍可讓您定義要監控的哪些資源,而篩選器則可進一步精確設定 Dataplex Universal Catalog 傳送通知的時機。舉例來說,您可能只希望在更新 bigquery-table 類型的資料表時收到通知,而不是在建立或刪除資料表時收到通知。如要這麼做,你可以根據項目類型、面向類型或變更類型 (CREATE、UPDATE 或 DELETE),對中繼資料變更動態消息套用一或多個篩選器。
舉例來說,線上零售公司會使用 BigQuery,在專屬專案中管理產品庫存。如要只監控目錄資料表中的結構定義變更,他們會以專案為範圍建立中繼資料變更動態饋給,並套用 entry_type=bigquery-table 和 change_type=UPDATE 的篩選器。如果重要資料表 (例如 product_stock) 的結構定義更新,這項變更會產生 UPDATE 通知,與中繼資料變更動態消息的篩選器相符。中繼資料變更動態消息隨後會將通知傳送至 Pub/Sub 主題。訂閱這個 Pub/Sub 主題的自動化工作流程可以立即暫停下游的報表管道,並向庫存管理團隊發出快訊,避免根據不一致的資料做出決策。
用途
中繼資料變更動態消息的用途廣泛,包括:
- 中繼資料同步:持續將 Dataplex Universal Catalog 中繼資料變更同步至外部或第三方資料目錄或搜尋索引。
- 政策強制執行:當項目中的資料分類層面變更時,自動套用或更新安全性政策。
- 自動化資料品質:在資料表結構定義變更時,觸發資料品質掃描或向資料擁有者發出快訊。
- 觸發 ETL/ELT:在新資料表項目建立或更新時,啟動資料轉換工作。
- 稽核:將所有中繼資料變更記錄到稽核資料表中,以符合法規要求。
術語
中繼資料變更記錄是 Dataplex Universal Catalog 資源,可監控項目和切面的中繼資料變更 (建立、更新、刪除),並將通知傳送至 Pub/Sub 主題。在 API 中,這項資源稱為 metadataFeeds (projects/PROJECT_ID/locations/LOCATION/metadataFeeds/FEED_ID)。
如要設定中繼資料變更動態饋給,請定義其範圍、篩選條件和目的地。如果發生符合中繼資料變更資訊動態饋給範圍和篩選條件的中繼資料變更,Dataplex Universal 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) 都會產生通知。目的地:Dataplex Universal 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"
}
如需如何建立及管理中繼資料變更動態饋給的操作說明,請參閱「接收中繼資料變更動態饋給的通知」。
通知訊息格式
當中繼資料變更觸發通知時,Dataplex Universal Catalog 會將訊息發布至指定的 Pub/Sub 主題。變更事件詳細資料會擷取到 Pub/Sub 訊息中。訊息包含用於篩選的屬性,以及內含變更詳細資料的資料酬載。
如要進一步瞭解如何取用這些訊息,請參閱「取用通知訊息」。
屬性
屬性可讓您篩選主題中的訊息。您可以使用 Pub/Sub 訂閱篩選器,篩選訂閱項目中的訊息。
屬性中提供下列欄位:
timestamp:變更發生時的時間戳記。entry_name:項目的資源名稱,格式為projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID/entries/ENTRY_ID。entry_fqn:項目的完整名稱。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",
"full_qualified_name": "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 範圍,否則中繼資料變更動態饋給建立作業會失敗。
配額與限制
如要瞭解中繼資料變更動態消息的配額,請參閱配額。
請注意,中繼資料變更動態饋給有下列限制:
傳送:中繼資料變更動態消息會「至少一次」傳送通知。您必須在訂閱者中處理可能重複的訊息。
順序:Dataplex Universal Catalog 不保證訊息傳送的順序。
延遲時間:雖然接近即時,但通知的目標延遲時間為 3 到 10 分鐘。
啟用延遲:由於後端會快取資料,因此新建立或更新的中繼資料變更動態饋給設定,最多可能需要 10 分鐘才會生效。
酬載:初始通知訊息只包含變更簽章。例如項目名稱、項目類型、變更類型,以及變更的層面類型或鍵清單,但不包含實際變更的資料 (層面酬載)。如有需要,您必須呼叫 Dataplex Universal Catalog API (
GetEntry),才能擷取項目或切面的目前狀態。
定價
Dataplex Universal Catalog 中繼資料變更動態饋給不會直接收費。 不過,您仍須支付所用資源的費用,例如 Pub/Sub 訊息傳送、儲存空間和資料傳出費用。請參閱 Pub/Sub 定價。