À propos des flux de modification des métadonnées

Ce document présente les flux de modifications de métadonnées de Knowledge Catalog (anciennement Dataplex Universal Catalog). Ces flux vous permettent de suivre les modifications de métadonnées dans votre instance Knowledge Catalog en temps quasi réel et de créer des workflows basés sur des événements en fonction de ces modifications.

Fonctionnement des flux de modifications de métadonnées

Dans Knowledge Catalog, une entrée représente un élément de données, tel qu'une table BigQuery, et un aspect est un ensemble de champs de métadonnées associés à une entrée qui la décrit. Lorsqu'une entrée ou un aspect est créé, mis à jour ou supprimé, Knowledge Catalog publie un message de notification dans un sujet Pub/Sub que vous spécifiez. Ces notifications, également appelées flux de modifications de métadonnées, contiennent des informations sur la modification. Cela inclut le moment où la modification a eu lieu, la ressource qui a été modifiée et le type de modification. Pour en savoir plus sur les entrées et les aspects, consultez À propos de la gestion des métadonnées dans Knowledge Catalog.

Le diagramme de l'architecture suivant montre comment Knowledge Catalog capture les modifications de métadonnées (création, mise à jour, suppression) et les transmet à Pub/Sub pour les workflows basés sur des événements en aval.

Modifications des métadonnées Dataplex publiées dans Pub/Sub et utilisées par les workflows d'abonnés en aval.
Figure 1. Présentation des flux de modifications de métadonnées

Pour contrôler les modifications qui génèrent des notifications, vous pouvez configurer un flux de modifications de métadonnées afin de surveiller des ressources spécifiques. Pour ce faire, spécifiez un champ d'application, tel que l'ensemble de votre organisation, des projets spécifiques ou des groupes d'entrées spécifiques. Alors que le champ d'application vous permet de définir les ressources à surveiller, vous pouvez utiliser des filtres pour affiner davantage le moment où Knowledge Catalog envoie des notifications. Par exemple, vous pouvez choisir de recevoir des notifications uniquement lorsque des tables de type bigquery-table sont mises à jour, mais pas lorsqu'elles sont créées ou supprimées. Pour ce faire, vous pouvez appliquer un ou plusieurs filtres à votre flux de modifications de métadonnées en fonction du type d'entrée, du type d'aspect ou du type de modification (CREATE, UPDATE ou DELETE).

Par exemple, une entreprise de vente au détail en ligne utilise BigQuery pour gérer l'inventaire de ses produits dans un projet dédié. Pour surveiller uniquement les modifications de schéma dans ses tables d'inventaire, elle crée un flux de modifications de métadonnées avec le projet comme champ d'application et applique des filtres pour entry_type=bigquery-table et change_type=UPDATE. Si le schéma d'une table critique, telle que product_stock, est mis à jour, cette modification génère une notification UPDATE qui correspond au filtre du flux de modifications de métadonnées. Le flux de modifications de métadonnées envoie ensuite une notification à un sujet Pub/Sub. Un workflow automatisé abonné à ce sujet Pub/Sub peut immédiatement mettre en pause les pipelines de création de rapports en aval et alerter l'équipe de gestion de l'inventaire pour éviter de prendre des décisions basées sur des données incohérentes.

Cas d'utilisation des flux de modifications de métadonnées

Vous pouvez utiliser les flux de modifications de métadonnées à différentes fins, y compris les suivantes :

  • Synchronisation des métadonnées : synchronisez en continu les modifications de métadonnées de Knowledge Catalog avec un catalogue de données ou un index de recherche externe ou tiers.
  • Application des règles : appliquez ou mettez à jour automatiquement les règles de sécurité lorsqu'un aspect de classification des données est modifié dans une entrée.
  • Automatisation de la qualité des données : déclenchez une analyse de la qualité des données ou alertez le propriétaire des données lorsque le schéma d'une table est modifié.
  • Déclenchement ETL/ELT : démarrez une tâche de transformation des données lorsqu'une nouvelle entrée de table est créée ou mise à jour.
  • Audit : enregistrez toutes les modifications de métadonnées dans une table d'audit à des fins de conformité.

Concepts clés et configuration

Un flux de modifications de métadonnées est une ressource Knowledge Catalog qui surveille les modifications de métadonnées (création, mise à jour, suppression) pour les entrées et les aspects, et envoie des notifications à un sujet Pub/Sub. Dans l'API, cette ressource est appelée metadataFeeds (projects/PROJECT_ID/locations/LOCATION/metadataFeeds/FEED_ID).

Vous configurez un flux de modifications de métadonnées en définissant son champ d'application, ses filtres et sa destination. Lorsqu'une modification de métadonnées correspond au champ d'application et aux filtres du flux de modifications de métadonnées, Knowledge Catalog publie un message de notification dans le sujet Pub/Sub de destination.

Configuration des flux de modifications de métadonnées

Vous pouvez configurer un flux de modifications de métadonnées en définissant les éléments suivants :

  • Champ d'application : ensemble de ressources à surveiller pour détecter les modifications, telles que l'ensemble de votre organisation, des projets spécifiques ou des groupes d'entrées spécifiques. Dans l'API, vous spécifiez le nom de la ressource. L'exemple suivant montre le format du nom de ressource pour un groupe d'entrées : projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID.

  • Filtres : critères permettant de filtrer les modifications qui génèrent des notifications en fonction du type d'entrée, du type d'aspect ou du type de modification (CREATE, UPDATE, ou DELETE). Dans l'API, vous spécifiez le nom de la ressource. L'exemple suivant montre le format du nom de ressource pour un type d'entrée : projects/PROJECT_ID/locations/global/entryTypes/ENTRY_TYPE. Si vous ne spécifiez aucun filtre, tous les types de modifications (CREATE, UPDATE et DELETE) dans le champ d'application du flux génèrent des notifications.

  • Destination : sujet Pub/Sub dans lequel Knowledge Catalog publie des messages de notification. Dans l'API, vous spécifiez le nom du sujet. L'exemple suivant montre le format du nom de ressource pour un sujet Pub/Sub : projects/PROJECT_ID/topics/TOPIC_ID.

L'exemple suivant montre un flux de modifications de métadonnées configuré pour surveiller les projets PROJECT_ID_1 et PROJECT_ID_2 pour les événements CREATE, en envoyant des notifications à TOPIC_ID :

{
  "scope": {
    "projects": [
      "projects/PROJECT_ID_1",
      "projects/PROJECT_ID_2"
    ]
  },
  "filter": {
    "changeTypes": [
      "CREATE"
    ]
  },
  "pubsubTopic": "projects/PROJECT_ID_PUBSUB/topics/TOPIC_ID"
}

Pour savoir comment créer et gérer des flux de modifications de métadonnées, consultez Recevoir des notifications avec des flux de modifications de métadonnées.

Format des messages de notification

Lorsqu'une modification de métadonnées déclenche une notification, Knowledge Catalog publie un message dans le sujet Pub/Sub spécifié. Les détails de l'événement de modification sont capturés dans un message Pub/Sub. Le message est constitué d'attributs pour le filtrage et d'une charge utile de données contenant des informations sur la modification.

Pour en savoir plus sur la consommation de ces messages, consultez Consommer des messages de notification.

Attributs

Les attributs permettent de filtrer les messages dans le sujet. Vous pouvez filtrer les messages sur l'abonnement à l'aide des filtres d'abonnement Pub/Sub.

Les champs suivants sont fournis dans les attributs :

  • timestamp : code temporel de la modification.
  • entry_name: nom de ressource de l'entrée, au format projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID/entries/ENTRY_ID.
  • feed_name : nom de ressource du flux de modifications de métadonnées, au format projects/PROJECT_ID/locations/LOCATION/metadataChangeFeeds/FEED_ID.
  • entry_type : nom de ressource du type d'entrée, au format projects/PROJECT_NUMBER/locations/LOCATION/entryTypes/ENTRY_TYPE_ID. Pour en savoir plus, consultez Types d'entrées.
  • entry_change_type: type de modification : CREATED, UPDATED ou DELETED.

L'exemple suivant montre les attributs d'un événement de création d'entrée :

{
  "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"
}

Charge utile de données

La charge utile de données du message Pub/Sub est une chaîne JSON qui contient des informations sur la modification.

Voici un exemple de charge utile de données :

{
  "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"
  ]
}

Points à prendre en compte concernant VPC Service Controls

Les flux de modifications de métadonnées sont conformes à VPC Service Controls (VPC-SC).

  • Si un flux de modifications de métadonnées est limité à l'organisation, seuls les projets situés dans le périmètre VPC Service Controls du flux de modifications de métadonnées génèrent des notifications.

  • Si un flux de modifications de métadonnées est limité à un projet ou à un groupe d'entrées, tous les projets ou groupes d'entrées spécifiés doivent résider dans le même périmètre VPC Service Controls que le flux de modifications de métadonnées. Sinon, la création du flux de modifications de métadonnées échoue.

Quotas et limites

Pour en savoir plus sur les quotas liés aux flux de modifications de métadonnées, consultez Quotas et limites de Knowledge Catalog.

Consultez les limites suivantes pour les flux de modifications de métadonnées :

  • Diffusion : les flux de modifications de métadonnées diffusent les notifications au moins une fois. Vous devez gérer les éventuels messages en double dans votre abonné.

  • Ordre : Knowledge Catalog ne garantit pas l'ordre de distribution des messages.

  • Latence : les notifications des flux de modifications de métadonnées sont en temps quasi réel.

  • Délai d'activation : l'activation d'une configuration de flux de modifications de métadonnées nouvellement créée ou mise à jour peut prendre jusqu'à 10 minutes en raison de la mise en cache dans le backend.

  • Charge utile : le message de notification initial ne contient que des signatures de modification. Par exemple, le nom de l'entrée, le type d'entrée, le type de modification et une liste des types ou clés d'aspect modifiés, mais pas les données modifiées réelles (la charge utile de l'aspect). Si nécessaire, vous devez appeler l' API Dataplex (GetEntry) pour récupérer l'état actuel de l'entrée ou de l'aspect.

  • Aspects de stockage génériques : les flux de modifications de métadonnées ne sont pas compatibles avec les aspects de stockage génériques.

Tarifs

Les flux de modifications de métadonnées de Knowledge Catalog ne sont pas facturés directement. Toutefois, vous encourez des coûts pour les ressources utilisées, telles que la distribution des messages Pub/Sub, le stockage et la sortie des données. Consultez les tarifs de Pub/Sub.

Étape suivante