Paramétrez Openflow Connector for HubSpot

Note

Ce connecteur est soumis aux conditions d’utilisation de Snowflake Connector.

Cette rubrique décrit les étapes pour paramétrer Openflow Connector for HubSpot.

Conditions préalables

  1. Assurez-vous d’avoir consulté À propos de Openflow Connector for HubSpot.

  2. Assurez-vous d’avoir Configuration d’Openflow - BYOC ou de Configurer Openflow - Déploiements Snowflake.

  3. Si vous utilisez Openflow - Snowflake Deployments, assurez-vous d’avoir examiné la configuration des domaines requis et d’avoir accordé l’accès aux domaines requis pour le connecteur Hubspot.

Obtenir les identifiants de connexion

En tant qu’administrateur de HubSpot, générez un jeton d’application privée HubSpot ou créez-en un dans votre compte HubSpot. Cela vous permet d’authentifier vos requêtes auprès de l’API HubSpot.

  1. Connectez-vous à votre compte HubSpot.

  2. Accédez à Settings en sélectionnant l’icône de l’engrenage dans la barre de navigation supérieure.

  3. Dans la navigation de gauche, accédez à Integrations » Private Apps.

  4. Sélectionnez Create a private app.

    1. Saisissez un nom pour votre application.

    2. Accédez à l’onglet Scopes.

    3. Sélectionnez les champs d’application requis pour les requêtes d’API que vous avez l’intention d’effectuer. Pour trouver les champs d’application nécessaires aux requêtes d’API, voir Champs d’application.

    4. Sélectionnez Create app.

    5. Paramétrez les champs d’application requis pour les requêtes d’API que vous avez l’intention d’effectuer pour chaque point de terminaison.

  5. Sélectionnez View access token pour voir le jeton d’accès. Collez le jeton dans les paramètres du connecteur ou sauvegardez-le en toute sécurité.

Paramétrage du compte Snowflake

En tant qu’administrateur de compte Snowflake, effectuez les tâches suivantes :

  1. Créez un nouveau rôle ou utilisez un rôle existant et accordez les Privilèges de base de données et les Affichage des privilèges.

  2. Créez un nouvel utilisateur du service Snowflake avec le type SERVICE.

  3. Autorisez l’utilisateur du service Snowflake le rôle que vous avez créé dans les étapes précédentes.

  4. Configurez avec l’authentification par paire de clés pour l’utilisateur de Snowflake SERVICE de l’étape 2.

  5. Snowflake recommande vivement cette étape. Configurez un gestionnaire de secrets pris en charge par Openflow, par exemple AWS, Azure et Hashicorp, et stockez les clés publiques et privées dans le magasin de secrets.

    Note

    Si, pour une raison quelconque, vous ne souhaitez pas utiliser un gestionnaire de secrets, il vous incombe de protéger les fichiers de clés publiques et privées utilisés pour l’authentification par paires de clés conformément aux politiques de sécurité de votre organisation.

    1. Une fois le gestionnaire de secrets configuré, déterminez comment vous vous y authentifierez. Sur AWS, il est recommandé d’utiliser le rôle de l’instance EC2 associée à Openflow, car de cette manière, aucun autre secret ne doit être conservé.

    2. Dans Openflow, configurez un fournisseur de paramètres associé à ce gestionnaire de secrets, à partir du menu hamburger en haut à droite. Naviguez jusqu’à Controller Settings » Parameter Provider, puis récupérez vos valeurs de paramètres.

    3. À ce stade, tous les identifiants peuvent être référencés avec les chemins de paramètres associés et aucune valeur sensible ne doit être conservée dans Openflow.

  6. Si d’autres utilisateurs de Snowflake ont besoin d’accéder aux documents bruts ingérés et aux tables ingérées par le connecteur (par exemple, pour un traitement personnalisé dans Snowflake), accordez à ces utilisateurs le rôle créé à l’étape 1.

  7. Créez une base de données et un schéma dans Snowflake pour que le connecteur puisse stocker les données ingérées. Autorisez Privilèges de base de données pour le rôle créé à la première étape.

    CREATE DATABASE hubspot_destination_db;
    CREATE SCHEMA hubspot_destination_db.hubspot_destination_schema;
    GRANT USAGE ON DATABASE hubspot_destination_db TO ROLE <hubspot_connector_role>;
    GRANT USAGE ON SCHEMA hubspot_destination_db.hubspot_destination_schema TO ROLE <hubspot_connector_role>;
    GRANT CREATE TABLE, CREATE VIEW ON SCHEMA hubspot_destination_db.hubspot_destination_schema TO ROLE <hubspot_connector_role>;
    
  8. Créez un entrepôt qui sera utilisé par le connecteur ou utilisez un entrepôt existant. Commencez par la taille d’entrepôt la plus petite, puis faites des essais en fonction du nombre de tables répliquées et de la quantité de données transférées. Les tables de grande taille s’adaptent généralement mieux aux entrepôts multi-clusters, plutôt qu’aux entrepôts de grande taille.

  9. Assurez-vous que l’utilisateur dont le rôle est utilisé par le connecteur dispose des privilèges requis pour utiliser l’entrepôt. Si ce n’est pas le cas, accordez les privilèges requis au rôle.

    CREATE WAREHOUSE hubspot_connector_warehouse WITH WAREHOUSE_SIZE = 'X-Small';
    GRANT USAGE ON WAREHOUSE hubspot_connector_warehouse TO ROLE <hubspot_connector_role>;
    

Définir le connecteur

En tant qu’ingénieur des données, effectuez les tâches suivantes pour installer et configurer le connecteur :

Installer le connecteur

Pour installer le connecteur, procédez comme suit en tant qu’ingénieur des données :

  1. Accédez à la page d’aperçu d’Openflow. Dans la section Featured connectors, sélectionnez View more connectors.

  2. Sur la page des connecteurs Openflow, trouvez le connecteur et sélectionnez Add to runtime.

  3. Dans la boîte de dialogue Select runtime, sélectionnez votre environnement d’exécution dans la liste déroulante Available runtimes, puis cliquez sur Add.

    Note

    Avant d’installer le connecteur, assurez-vous que vous avez créé une base de données et un schéma dans Snowflake pour que le connecteur puisse stocker les données ingérées.

  4. Authentifiez-vous au déploiement avec les identifiants de votre compte Snowflake et sélectionnez Allow lorsque vous êtes invité à autoriser l’application d’exécution à accéder à votre compte Snowflake. Le processus d’installation du connecteur prend quelques minutes.

  5. Authentifiez-vous auprès de l’environnement d’exécution avec les identifiants de votre compte Snowflake.

Le canevas Openflow apparaît avec le groupe de processus du connecteur ajouté.

Configuration du connecteur

  1. Cliquez avec le bouton droit de la souris sur le groupe de processus importé et sélectionnez Parameters.

  2. Renseignez les valeurs des paramètres requis comme décrit dans Paramètres de débit.

Paramètres de débit

Cette section décrit les paramètres de flux que vous pouvez configurer en fonction des contextes de paramètres suivants :

Paramètres de la source HubSpot

Paramètre

Description

Jeton d’accès HubSpot

Jeton d’accès à l’application privée HubSpot.

Paramètres de destination HubSpot

Paramètre

Description

Obligatoire

Base de données de destination

La base de données dans laquelle les données seront conservées. Elle doit déjà exister dans Snowflake. Le nom est sensible à la casse. Pour les identificateurs sans guillemets, indiquez le nom en majuscules.

Oui

Schéma de destination

Le schéma dans lequel les données seront conservées, qui doit déjà exister dans Snowflake. Le nom est sensible à la casse. Pour les identificateurs sans guillemets, indiquez le nom en majuscules.

Voir l’exemple suivant :

  • CREATE SCHEMA SCHEMA_NAME ou CREATE SCHEMA schema_name : utilisez SCHEMA_NAME.

  • CREATE SCHEMA "schema_name" ou CREATE SCHEMA "SCHEMA_NAME" : utilisez schema_name ou SCHEMA_NAME, respectivement.

Oui

Stratégie d’authentification Snowflake

Lorsque vous utilisez :

  • Déploiement Snowflake Openflow ou BYOC : Utilisez SNOWFLAKE_MANAGED_TOKEN. Ce jeton est géré automatiquement par Snowflake. Les déploiements BYOC doivent disposer de rôles d’exécution pour utiliser SNOWFLAKE_MANAGED_TOKEN.

  • BYOC : BYOC peut également utiliser KEY_PAIR comme valeur pour la stratégie d’authentification.

Oui

Identificateur de compte Snowflake

Lorsque vous utilisez :

  • Stratégie d’authentification par jeton de session : doit être vide.

  • KEY_PAIR : nom du compte Snowflake au format [nom-organisation]-[nom-compte] où les données seront conservées.

Oui

Clé privée de Snowflake

Lorsque vous utilisez :

  • Stratégie d’authentification par jeton de session : doit être vide.

  • KEY_PAIR : Doit correspondre à la clé privée RSA utilisée pour l’authentification.

    La clé RSA doit être formatée conformément aux normes PKCS8 et posséder des en-têtes et des pieds de page PEM standards. Notez qu’un fichier de clé privée Snowflake ou une clé privée Snowflake doit être défini.

Non

Fichier de clé privée de Snowflake

Lorsque vous utilisez :

  • Stratégie d’authentification par jeton de session : Le fichier de la clé privée doit être vide.

  • KEY_PAIR : Chargez le fichier qui contient la clé privée RSA utilisée pour l’authentification auprès de Snowflake, formatée conformément aux normes PKCS8 et possédant des en-têtes et des pieds de page PEM standards. La ligne d’en-tête commence par -----BEGIN PRIVATE. Pour charger le fichier de la clé privée, cochez la case Reference asset.

Non

Mot de passe de la clé privée de Snowflake

Lorsque vous utilisez :

  • Stratégie d’authentification par jeton de session : doit être vide.

  • KEY_PAIR : fournissez le mot de passe associé au fichier de la clé privée Snowflake.

Non

Rôle Snowflake

Lorsque vous utilisez :

  • Stratégie d’authentification par jeton de session : Utilisez votre rôle Snowflake. Vous pouvez trouver votre rôle Snowflake dans l’UI d’Openflow, en naviguant jusqu’à View Details pour votre environnement d’exécution.

  • Stratégie d’authentification KEY_PAIR : Utilisez un rôle valide configuré pour votre utilisateur de service.

Oui

Nom d’utilisateur Snowflake

Lorsque vous utilisez :

  • Stratégie d’authentification par jeton de session : doit être vide.

  • KEY_PAIR : indiquez le nom d’utilisateur utilisé pour vous connecter à l’instance Snowflake.

Oui

Stratégie de valeur surdimensionnée

Détermine la façon dont le connecteur traite les valeurs qui dépassent ses limites de taille interne (16 MB) pendant la réplication. Les valeurs possibles sont les suivantes :

  • Table d’échec (par défaut) : La table est marquée comme en échec définitif et la réplication s’arrête pour cette table.

  • Définir null : La valeur est remplacée par NULL dans la table de destination. Utilisez cette option pour éviter les défaillances des tables lorsqu’il est acceptable de perdre des données dans les tables au-delà de la valeur surdimensionnée.

Non

Entrepôt Snowflake

Entrepôt Snowflake utilisé pour exécuter des requêtes.

Oui

Paramètres d’ingestion HubSpot

Paramètre

Description

Types d’objets

Liste de types d’objets HubSpot séparés par des virgules à ingérer.

Les valeurs de type d’objet prises en charge sont les suivantes :

  • Rendez-vous

  • Appels

  • Campagnes

  • Paniers

  • Paiements commerciaux

  • Communications

  • Entreprises

  • Contacts

  • Cours

  • Offres

  • Remises

  • Emails

  • Frais

  • Soumissions de commentaires

  • Objectifs

  • Factures

  • Prospects

  • Lignes

  • Éléments de liste

  • Réunions

  • Remarques

  • Ordres

  • Adresse postale

  • Produits

  • Citations

  • Modèles de citation

  • Services

  • Abonnements

  • Tâches

  • Taxes

  • Billets

  • Utilisateurs

Mise à jour après

Filtrer les objets mis à jour après la date ou l’heure spécifiée. Ce paramètre est facultatif.

Planification d’ingestion des données

Délai entre les prochaines planifications. Il doit avoir une durée valide, par exemple 30 minutes ou 1 heure.

Exécutez le flux

  1. Cliquez avec le bouton droit de la souris sur l’avion et sélectionnez Enable all Controller Services.

  2. Cliquez avec le bouton droit de la souris sur le groupe de processus importé et sélectionnez Start. Le connecteur démarre l’ingestion des données.

Reconfigurer le connecteur

Vous pouvez modifier les paramètres du connecteur une fois que le connecteur a commencé à ingérer des données. Si les critères de la requête d’émission changent, effectuez les étapes suivantes pour vous assurer que les données de la table de destination sont cohérentes.

  1. Arrêtez le connecteur : assurez-vous que tous les processeurs Openflow sont arrêtés.

  2. Accédez aux paramètres de configuration : accédez aux paramètres de configuration du connecteur dans l’interface Snowflake Openflow.

  3. Modifier les paramètres : ajustez les paramètres en fonction des exigences.

  4. Effacer l’état du processeur : Si vous modifiez les critères d’ingestion, Snowflake vous recommande vivement de commencer l’ingestion depuis le début afin de garantir la cohérence des données de la table de destination. Après avoir effacé l’état dans le processeur List Fresh HubSpot Objects, le connecteur récupérera tous les objets depuis le début. Une troncation manuelle de la table de destination peut être nécessaire pour éviter la duplication des lignes.

Structure des données et vues

Le connecteur stocke les données dans les deux formats suivants dans votre base de données Snowflake :

Stockage de données brutes

Toutes les données brutes HubSpot sont stockées dans des tables portant les noms exacts spécifiés dans le paramètre Types d’objets. Par exemple :

  • Si vous configurez Products,Contacts,Companies dans le paramètre Types d’objets, le connecteur crée trois tables :PRODUCTS, CONTACTS et COMPANIES.

  • Chaque table contient la charge utile JSON complète des réponses de l’API HubSpot.

  • Les données brutes préservent la structure originale et toutes les métadonnées de HubSpot.

Vues aplaties

Pour faciliter les requêtes et les analyses, le connecteur crée automatiquement des vues aplaties pour chaque type d’objet :

  • Chaque table brute a une vue correspondante avec le suffixe _VIEW. Par exemple, PRODUCTS_VIEW, CONTACTS_VIEW et COMPANIES_VIEW.

  • Les vues extraient des champs couramment utilisés de la charge utile JSON dans des colonnes individuelles.

  • Les structures imbriquées complexes sont aplaties pour des requêtes SQL simplifiées.