Ce document explique comment importer des métadonnées depuis des sources tierces dans Knowledge Catalog (anciennement Dataplex Universal Catalog) en configurant et en exécutant un pipeline de connectivité gérée dans Workflows. Ce pipeline extrait les métadonnées de votre source de données personnalisée et les importe dans Knowledge Catalog, en créant les groupes d'entrées nécessaires.
Pour en savoir plus sur la connectivité gérée, consultez Présentation de la connectivité gérée.
Avant de commencer
Avant d'importer des métadonnées, effectuez les tâches décrites dans cette section.
Créer un connecteur
Un connecteur extrait les métadonnées de votre source de données et génère un fichier d'importation de métadonnées qui peut être importé par Knowledge Catalog. Le connecteur est une image Artifact Registry pouvant s'exécuter sur Managed Service pour Apache Spark.
Créez un connecteur personnalisé qui extrait les métadonnées de votre source tierce.
Pour obtenir un exemple de connecteur que vous pouvez utiliser comme modèle de référence pour créer votre propre connecteur, consultez Développer un connecteur personnalisé pour l'importation de métadonnées.
Configurer les ressources Google Cloud
-
Activez les API Workflows, Dataproc, Cloud Storage, Dataplex, Secret Manager, Artifact Registry et Cloud Scheduler.
Rôles requis pour activer les API
Pour activer les API, vous devez disposer de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation grâce au rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation grâce au rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.Si vous ne prévoyez pas d'exécuter le pipeline selon une planification, vous n'avez pas besoin d'activer l'API Cloud Scheduler.
Créez des secrets dans Secret Manager pour stocker les identifiants de votre source de données tierce.
Configurez votre réseau de cloud privé virtuel (VPC) de façon à exécuter des charges de travail Managed Service for Apache Spark.
Créez un bucket Cloud Storage pour stocker les fichiers d'importation de métadonnées.
Créez les ressources Knowledge Catalog suivantes :
Créez des types d'aspects personnalisés pour les entrées que vous souhaitez importer.
Créez des types d'entrées personnalisés pour les entrées que vous souhaitez importer.
Rôles requis
Un compte de service représente l'identité d'un workflow et détermine les autorisations dont il dispose ainsi que les ressources Google Cloud auxquelles il peut accéder. Vous avez besoin d'un compte de service pour Workflows (afin d'exécuter le pipeline) et pour Managed Service pour Apache Spark (afin d'exécuter le connecteur).
Vous pouvez utiliser le compte de service Compute Engine par défaut (PROJECT_NUMBER-compute@developer.gserviceaccount.com) ou créer votre propre compte de service (ou vos propres comptes) pour exécuter le pipeline de connectivité gérée.
Console
Dans la console Google Cloud , accédez à la page IAM.
Sélectionnez le projet dans lequel vous souhaitez importer les métadonnées.
Cliquez sur Accorder l'accès, puis saisissez l'adresse e-mail du compte de service.
Attribuez les rôles suivants au compte de service :
- Rédacteur de journaux
- Propriétaire du groupe d'entrées Dataplex
- Propriétaire de jobs de métadonnées Dataplex
- Éditeur de catalogue Dataplex
- Éditeur Dataproc
- Nœud de calcul Dataproc
- Accesseur de secrets Secret Manager : sur le secret qui stocke les identifiants de votre source de données.
- Utilisateur d'objets Storage : sur le bucket Cloud Storage.
- Lecteur Artifact Registry : sur le dépôt Artifact Registry contenant l'image de connecteur.
- Utilisateur du compte de service : si vous utilisez différents comptes de service, attribuez au compte de service qui exécute Workflows ce rôle sur le compte de service qui exécute les jobs par lot Managed Service pour Apache Spark.
- Demandeur de workflows : si vous souhaitez planifier l'exécution du pipeline.
Enregistrez les modifications.
gcloud
Attribuez des rôles au compte de service. Exécutez les commandes suivantes :
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID" \ --role=roles/logging.logWriter gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID" \ --role=roles/dataplex.entryGroupOwner gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID" \ --role=roles/dataplex.metadataJobOwner gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID" \ --role=roles/dataplex.catalogEditor gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID" \ --role=roles/dataproc.editor gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID" \ --role=roles/dataproc.workerRemplacez les éléments suivants :
-
PROJECT_ID: nom du projet Google Cloudcible dans lequel importer les métadonnées. SERVICE_ACCOUNT_ID: compte de service, par exemplemy-service-account@my-project.iam.gserviceaccount.com.
-
Attribuez les rôles suivants au compte de service au niveau des ressources :
gcloud secrets add-iam-policy-binding SECRET_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID" \ --role=roles/secretmanager.secretaccessor gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID" \ --role=roles/storage.objectUser \ --condition=resource.name.startsWith('projects/_/buckets/BUCKET_ID') gcloud artifacts repositories add-iam-policy-binding REPOSITORY \ --location=REPOSITORY_LOCATION \ --member=SERVICE_ACCOUNT_ID} \ --role=roles/artifactregistry.readerRemplacez les éléments suivants :
SECRET_ID: ID du secret qui stocke les identifiants de votre source de données. Il utilise le formatprojects/PROJECT_ID/secrets/SECRET_ID.BUCKET_ID: nom du bucket Cloud Storage.REPOSITORY: dépôt Artifact Registry contenant l'image de connecteur.REPOSITORY_LOCATION: emplacement Google Cloudoù le dépôt est hébergé.
Attribuez au compte de service qui exécute Workflows le rôle
roles/iam.serviceAccountUsersur le compte de service qui exécute les jobs par lot Managed Service pour Apache Spark. Vous devez attribuer ce rôle même si vous utilisez le même compte de service pour Workflows et Managed Service pour Apache Spark.gcloud iam service-accounts add-iam-policy-binding \ serviceAccount:SERVICE_ACCOUNT_ID \ --member='SERVICE_ACCOUNT_ID' \ --role='roles/iam.serviceAccountUser'Si vous utilisez différents comptes de service, la valeur du flag
--membercorrespond au compte de service qui exécute les jobs par lot Managed Service pour Apache Spark.Si vous souhaitez planifier l'exécution du pipeline, attribuez le rôle suivant au compte de service :
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="SERVICE_ACCOUNT_ID" \ --role=roles/workflows.invoker
Importer les métadonnées
Pour importer des métadonnées, créez et exécutez un workflow qui exécute le pipeline de connectivité gérée. Vous pouvez également créer une planification pour exécuter le pipeline.
Console
Créez le workflow. Fournissez les informations suivantes :
- Compte de service : compte de service que vous avez configuré dans la section Rôles requis de ce document.
Chiffrement : sélectionnez Google-managed encryption key.
Définissez le workflow en fournissant le fichier de définition suivant :