Charger des données HubSpot dans BigQuery

Vous pouvez charger des données de HubSpot vers BigQuery à l'aide du connecteur du service de transfert de données BigQuery pour HubSpot. Le service de transfert de données BigQuery vous permet de planifier des jobs de transfert récurrents qui ajoutent vos dernières données HubSpot à BigQuery.

Limites

  • Le connecteur HubSpot nécessite un jeton d'accès à une application privée pour l'authentification. Vous devez disposer d'une application privée HubSpot pour obtenir un jeton d'accès à une application privée avant de pouvoir configurer un transfert de données HubSpot. Pour en savoir plus, consultez Prérequis pour HubSpot.
  • Si votre rattachement de réseau a été créé dans un projet Google Cloud différent du projet Google Cloud du transfert de données, vous devez accorder les autorisations compute.networkAttachments.get et compute.networkAttachments.update à l'agent de service qui appartient au projet Google Cloud dans lequel le transfert de données a été créé.

Avant de commencer

Les sections suivantes décrivent les conditions préalables à remplir avant de créer un transfert de données HubSpot.

Prérequis pour HubSpot

Vous devez créer une application privée HubSpot et récupérer votre jeton d'accès à l'application privée. Pour en savoir plus, consultez les ressources suivantes :

Niveaux d'accès requis

Les champs d'application HubSpot permettent à d'autres services d'accéder à des points de terminaison d'API spécifiques pour accéder aux données d'un compte HubSpot. Pour autoriser le connecteur HubSpot à transférer des données depuis votre compte HubSpot, vous devez activer les champs d'application suivants pour votre application privée :

Niveaux d'accès requis

  • automation
  • business-intelligence
  • collector_graphql_query_execute
  • collector_graphql_query_read
  • content
  • conversations.read
  • conversations.visitor_identification.tokens.create
  • crm.import
  • crm.lists.read
  • crm.objects.companies.read
  • crm.objects.contacts.read
  • crm.objects.deals.read
  • crm.objects.owners.read
  • crm.schemas.companies.read
  • crm.schemas.contacts.read
  • crm.schemas.deals.read
  • e-commerce
  • files
  • forms
  • forms-uploaded-files
  • hubdb
  • integration-sync
  • oauth
  • sales-email-read
  • settings.users.read
  • settings.users.teams.read
  • social
  • tickets
  • timeline
  • transactional-email

Pour en savoir plus sur la configuration des champs d'application de votre application privée, consultez Anciennes applications privées.

Champs d'application facultatifs

Pour transférer certains objets de données HubSpot, tels que des données sensibles ou hautement sensibles, vous devez également activer les champs d'application suivants :

Champs d'application pour les données sensibles

Pour transférer des données sensibles, activez les champs d'application suivants :

  • crm.objects.contacts.sensitive.read
  • crm.objects.companies.sensitive.read
  • crm.objects.deals.sensitive.read
  • crm.objects.appointments.sensitive.read
  • crm.objects.custom.sensitive.read
  • crm.objects.projects.sensitive.read
  • tickets.sensitive

Champs d'application pour les données hautement sensibles

Pour transférer des données hautement sensibles, activez les champs d'application suivants :

  • crm.objects.contacts.highly_sensitive.read
  • crm.objects.companies.highly_sensitive.read
  • crm.objects.deals.highly_sensitive.read
  • crm.objects.custom.highly_sensitive.read
  • crm.objects.projects.highly_sensitive.read
  • tickets.highly_sensitive

Champs d'application pour d'autres données

Certains objets de données nécessitent l'inclusion de champs d'application spécifiques dans un transfert de données. Par exemple, pour transférer objects.courses, vous devez disposer du champ d'application crm.objects.courses.read. La liste suivante inclut les champs d'application requis pour transférer l'objet de données correspondant :

  • crm.objects.appointments.read
  • crm.objects.courses.read
  • crm.objects.custom.read
  • crm.objects.goals.read
  • crm.objects.leads.read
  • crm.objects.line_items.read
  • crm.objects.listings.read
  • crm.objects.orders.read
  • crm.objects.owners.read
  • crm.objects.products.read
  • crm.objects.services.read
  • crm.objects.users.read
  • crm.pipelines.orders.read
  • crm.schemas.appointments.read
  • crm.schemas.courses.read
  • crm.schemas.custom.read
  • crm.schemas.deals.read
  • crm.schemas.line_items.read
  • crm.schemas.listings.read
  • crm.schemas.orders.read
  • crm.schemas.quotes.read
  • crm.schemas.services.read
  • marketing.campaigns.read
  • marketing.campaigns.revenue.read
  • settings.users.read
  • settings.users.teams.read
  • crm.dealsplits.read_write
  • crm.export
  • crm.extensions_calling_transcripts.read
  • crm.schemas.carts.read
  • crm.objects.carts.read
  • crm.objects.subscriptions.read
  • crm.objects.commercepayments.read
  • crm.objects.projects.read
  • crm.objects.quotes.read
  • crm.objects.partner-clients.read
  • crm.objects.partner-services.read
  • crm.objects.marketing_events.read
  • crm.objects.invoices.read
  • crm.objects.feedback_submissions.read
  • crm.objects.forecasts.read
  • crm.schemas.commercepayments.read
  • crm.schemas.forecasts.read
  • crm.schemas.invoices.read
  • crm.schemas.projects.read
  • crm.schemas.subscriptions.read

Prérequis pour BigQuery

Rôles BigQuery requis

Pour obtenir les autorisations nécessaires pour créer un transfert de données du service de transfert de données BigQuery, demandez à votre administrateur de vous accorder le rôle IAM Administrateur BigQuery (roles/bigquery.admin) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour créer un transfert de données du service de transfert de données BigQuery. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer un transfert de données du service de transfert de données BigQuery :

  • Autorisations du service de transfert de données BigQuery :
    • bigquery.transfers.update
    • bigquery.transfers.get
  • Autorisations BigQuery :
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour en savoir plus, consultez Accorder l'accès à bigquery.admin.

Si vous avez l'intention de configurer des notifications d'exécution de transfert pour Pub/Sub, assurez-vous de disposer de l'autorisation IAM pubsub.topics.setIamPolicy. Les autorisations Pub/Sub ne sont pas nécessaires si vous ne configurez que des notifications par e-mail. Pour plus d'informations, consultez la page Notifications d'exécution du service de transfert de données BigQuery.

Configurer un transfert de données HubSpot

Ajoutez des données HubSpot à BigQuery en configurant un transfert à l'aide de l'une des options suivantes :

Console

  1. Accédez à la page "Transferts de données" dans la console Google Cloud .

    Accéder à la page Transferts de données

  2. Cliquez sur Créer un transfert.

  3. Dans la section Type de source, accédez à la liste déroulante Source, puis sélectionnez HubSpot – Preview.

  4. Dans la section Data source details (Détails de la source de données), procédez comme suit :

    • Dans le champ Jeton d'accès, saisissez votre clé de jeton d'accès privé. Pour en savoir plus, consultez Prérequis pour HubSpot.
    • Dans le champ Objets HubSpot à transférer, cliquez sur Parcourir pour sélectionner les objets à transférer vers l'ensemble de données de destination BigQuery. Vous pouvez également saisir manuellement dans ce champ les objets à inclure dans le transfert de données.
      • Vous pouvez sélectionner des objets HubSpot personnalisés, qui s'affichent dans le menu Parcourir au format CUSTOM_OBJECT_NAME__c.
  5. Dans la section Paramètres de destination, accédez au menu déroulant Ensemble de données, puis sélectionnez l'ensemble de données que vous avez créé pour stocker vos données.

  6. Dans la section Nom de la configuration de transfert, sous Nom à afficher, saisissez le nom du transfert de données.

  7. Dans la section Schedule options (Options de programmation) :

    • Dans la liste Fréquence de répétition, sélectionnez une option pour spécifier la fréquence d'exécution de ce transfert de données. Pour spécifier une fréquence de répétition personnalisée, sélectionnez Personnalisée. Si vous sélectionnez À la demande, le transfert s'exécute lorsque vous le déclenchez manuellement.
    • Le cas échéant, sélectionnez Commencer ou Commencer à l'heure définie, puis indiquez une date de début et une heure d'exécution.
  8. Facultatif : dans la section Options de notification, procédez comme suit :

    • Pour activer les notifications par e-mail, cliquez sur le bouton Notification par e-mail. Lorsque vous activez cette option, l'administrateur du transfert reçoit une notification par e-mail si l'exécution du transfert échoue.
    • Pour activer les notifications d'exécution de transfert Pub/Sub pour ce transfert, cliquez sur le bouton Notifications Pub/Sub. Vous pouvez sélectionner le nom de votre sujet ou cliquer sur Créer un sujet pour en créer un.
  9. Cliquez sur Enregistrer.

bq

Saisissez la commande bq mk, puis spécifiez l'indicateur de création de transfert --transfer_config.

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

Remplacez les éléments suivants :

  • PROJECT_ID (facultatif) : ID de votre projet Google Cloud . Si vous ne fournissez pas de --project_id afin de spécifier un projet particulier, le projet par défaut est utilisé.
  • DATA_SOURCE. La source de données – hubspot.
  • NAME : nom à afficher de la configuration de transfert de données. Ce nom peut correspondre à toute valeur permettant d'identifier le transfert si vous devez le modifier ultérieurement.
  • DATASET : ensemble de données cible de la configuration de transfert.
  • PARAMETERS correspond aux paramètres de la configuration de transfert créée, au format JSON. Exemple : --params='{"param":"param_value"}'. Voici les paramètres d'un transfert de données HubSpot :

    • assets : chemin d'accès aux objets HubSpot à transférer vers BigQuery.
      • Vous pouvez spécifier des objets HubSpot personnalisés au format CUSTOM_OBJECT_NAME__c.
    • connector.authentication.oauth.accessToken : clé du jeton d'accès privé HubSpot.

La commande suivante crée un transfert de données HubSpot dans le projet par défaut.

    bq mk \
        --transfer_config \
        --target_dataset=mydataset \
        --data_source=hubspot \
        --display_name='My Transfer' \
        --params= ' {
            "assets": ["Contacts", "Deals"],
            "connector.authentication.oauth.accessToken": "pat_123456789123"}'
Lorsque vous enregistrez la configuration de transfert, le connecteur HubSpot déclenche automatiquement une exécution de transfert en fonction de l'option de planification que vous avez choisie. À chaque exécution de transfert, le connecteur HubSpot transfère toutes les données disponibles de HubSpot vers BigQuery.

Pour exécuter manuellement un transfert de données en dehors de votre calendrier habituel, vous pouvez lancer une exécution de remplissage.

Mappage des types de données

Le tableau suivant mappe les types de données HubSpot aux types de données BigQuery correspondants :

Type de données HubSpot Type de données BigQuery
String STRING
Text STRING
Integer INTEGER
Boolean BOOLEAN
Date TIMESTAMP
Datetime TIMESTAMP
Long BIGNUMERIC

Tarifs

Le transfert des données HubSpot vers BigQuery est sans frais tant que cette fonctionnalité est en version bêta.

Résoudre les problèmes liés à la configuration d'un transfert

Si vous rencontrez des problèmes lors de la configuration de votre transfert de données, consultez Problèmes de transfert HubSpot.

Étapes suivantes