Openflow Connector for Salesforce Bulk API : Configuration du connecteur

Note

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

Cette rubrique décrit les étapes à suivre pour configurer le Openflow Connector for Salesforce Bulk API.

Installer le connecteur

Suivez les étapes suivantes pour installer le Openflow Connector for Salesforce Bulk API dans un environnement d’exécution Openflow :

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

  2. Sur la page des connecteurs Openflow, recherchez Openflow connector for Salesforce Bulk API 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.

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

Configuration du connecteur

Pour configurer le connecteur, procédez comme suit :

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

  2. Fournissez les valeurs pour les paramètres requis comme décrit dans la table ci-dessous.

Paramètre

Description

Column Removal Strategy

Définit la stratégie à adopter lorsqu’une colonne doit être supprimée dans la table de destination sur la base du dernier schéma reçu. Trois valeurs possibles : Drop Column, Rename Column, Ignore Column.

  • Drop Column : supprimez la colonne de la table Snowflake.

  • Rename Column : renommez la colonne dans la table Snowflake.

  • Ignore Column : Ignorez la colonne et laissez-la telle quelle dans la table Snowflake.

Clé d’application connectée

Copiez-collez le contenu du fichier private.key généré lors de la configuration de Salesforce. Vous pouvez également utiliser le paramètre suivant si vous souhaitez plutôt charger la clé privée dans l’environnement d’exécution Openflow.

Fichier de clé d’application connectée

Vous pouvez charger directement les private.key en cochant la case Actif de référence, puis téléchargez le fichier en tant qu’actif et sélectionnez celui-ci comme valeur du paramètre.

Mot de passe de la clé d’application connectée

Mot de passe défini sur le fichier de la clé privée lors des étapes de configuration de Salesforce.

Base de données de destination

Nom de la base de données dans Snowflake dans laquelle les données Salesforce seront répliquées. La base de données doit exister avant de démarrer le connecteur.

Schéma de destination

Nom du schéma, dans la base de données ci-dessus, dans laquelle le connecteur créera des tables pour les données Salesforce à ajouter. Le schéma doit exister avant de démarrer le connecteur.

Filtre

Liste d’objets séparés par des virgules à répliquer depuis Salesforce, ou expression régulière à appliquer à tous les objets existants. Exemple : Account, Opportunity, Contact.

Note

Si ce champ est laissé vide, tous les objets seront répliqués. Cette opération n’est pas recommandée, car il y a généralement des milliers d’objets dans une instance Salesforce.

Incremental Offload

Si le processeur doit effectuer un déchargement incrémentiel. Si true, le processeur ne récupérera que les enregistrements qui ont été modifiés depuis la dernière soumission de la tâche de requête en utilisant une clause WHERE sur le champ d’horodatage approprié. Si false, tous les enregistrements seront récupérés à chaque exécution du connecteur.

Découpage du chargement initial

Si la valeur est autre que NONE, le chargement de données initial sera divisé en plusieurs tâches en fonction de cet intervalle. Lors de la première exécution d’un objet, le connecteur interroge Salesforce pour trouver l’enregistrement le plus ancien et l’utilise comme point de départ. Chaque tâche suivante interroge le morceau de temps suivant jusqu’à rattraper l’heure actuelle. Doit être défini avec l’une des valeurs suivantes : NONE, MONTHLY, QUARTERLY, YEARLY.

Ceci est utile pour les grands ensembles de données pour lesquels le chargement de toutes les données historiques dans une seule requête peut échouer en raison d’un timeout, dépasser les limites de l’API ou dépasser la taille de stockage du référentiel de contenu de l’environnement d’exécution. Une fois cette heure atteinte, le processeur poursuit son comportement normal de déchargement incrémentiel.

Audience OAuth2

Audience à définir dans le jeton JWT. Ceci est généralement défini sur https://login.salesforce.com.

OAuth2 client ID

Doit être défini sur la valeur Consumer Key récupérée lors des étapes de configuration de Salesforce.

Objet OAuth2

Doit être défini comme le nom d’un utilisateur approuvé par l’administrateur pour que l’application interagisse avec les APIs de Salesforce au nom de cet utilisateur.

URL du point de terminaison du jeton OAuth2

Point de terminaison pour négocier des jetons via le flux du porteur JWT. Exemple : https://myCompany.my.salesforce.com/services/oauth2/token.

Filtre des champs d’objet JSON

Un fichier JSON spécifiant les champs et les modèles de champs à inclure ou à exclure, par objet Salesforce. Prend la forme d’un tableau avec un élément par objet.

Exemple 1 : tous les champs qui se terminent par « nom » dans l’objet « Compte » Salesforce seront inclus :

[ {"objectType":"Account", "includedPattern":".*name"} ]

Exemple 2 : les champs ID, Nom et Revenu dans l’objet Salesforce « Compte » seront inclus :

[ {"objectType":"Account", "included": ["Id", "Name", "Revenue"]} ]

excluded et excludedPattern sont également disponibles pour la configuration des filtres.

Résolution de l’identificateur d’objet

Détermine si les noms de schéma/table/colonne sont traités comme sensibles à la casse ou non. L’un des deux : CASE_INSENSITIVE / CASE_SENSITIVE.

Note

La modification de la valeur de ce paramètre nécessite l’effacement de l’état et un rechargement complet de tous les objets.

Removed Column Name Suffix

Suffixe ajouté au nom de la colonne lorsque le paramètre Column Removal Strategy est défini sur Rename Column. Par défaut : __deleted.

Exécuter la planification

Fréquence à laquelle le connecteur vérifie les mises à jour dans Salesforce pour les objets configurés via le paramètre Filter. Par défaut : 15 minutes.

Instance de Salesforce

Nom d’hôte de l’instance Salesforce, y compris le nom de domaine. Ne pas inclure le préfixe de protocole (https://). Par exemple, utilisez myCompany.my.salesforce.com.

Identificateur de compte Snowflake

Nom de compte Snowflake formaté comme [organization-name]-[account-name] où les données seront conservées. Exemple : PM-CONNECTORS.

Nom d’utilisateur Snowflake

Nom de l’utilisateur du service que le connecteur utilise pour se connecter à Snowflake. L’utilisateur du service est requis uniquement lors de l’utilisation de la stratégie d’authentification KEY_PAIR (BYOC Openflow uniquement).

Clé privée de Snowflake

La clé privée RSA que le connecteur utilise 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. Requis uniquement que lorsque vous utilisez la stratégie d’authentification KEY_PAIR (BYOC Openflow uniquement).

Vous pouvez également utiliser le paramètre suivant pour charger la clé privée vers l’environnement d’exécution Openflow.

Fichier de clé privée de Snowflake

Le fichier qui contient la clé privée RSA que le connecteur utilise 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. Requis uniquement lors de l’utilisation de la stratégie d’authentification KEY_PAIR (BYOC Openflow uniquement).

Cochez la case Reference asset pour charger le fichier de la clé privée et le stocker en toute sécurité dans l’environnement d’exécution Openflow.

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

Le mot de passe associé au fichier de la clé privée Snowflake (si chiffré). Requis uniquement que lorsque vous utilisez la stratégie d’authentification KEY_PAIR (BYOC Openflow uniquement).

Rôle Snowflake

Nom du rôle Snowflake utilisé lors de l’exécution de la requête. Lorsque vous utilisez SNOWFLAKE_MANAGED, il s’agit du rôle Snowflake pour les environnements d’exécution Openflow. Lorsque vous utilisez KEY_PAIR (BYOC Openflow uniquement), il s’agit du rôle attribué au nom d’utilisateur Snowflake spécifié.

Stratégie d’authentification Snowflake

Stratégie d’authentification pour que le connecteur se connecte à Snowflake.

Utiliser SNOWFLAKE_MANAGED (par défaut) utilisera le jeton géré par Snowflake associé au rôle d’exécution Snowflake spécifié. Si vous utilisez Openflow BYOC, il est aussi possible d’utiliser KEY_PAIR afin de spécifier un utilisateur et un rôle spécifiques via une paire de clés personnalisée.

Entrepôt Snowflake

L’entrepôt de Snowflake utilisé pour exécuter des requêtes

Filtre Objets spéciaux

Liste des objets, séparés par des virgules, à décharger depuis Salesforce (à l’aide de l’accès direct via l’API), ou une expression régulière pour s’appliquer à tous les objets existants.

Ce filtre ne doit être utilisé que pour les objets qui ne sont pas pris en charge par l’API de Salesforce Bulk telles que les données de connaissances, par exemple. Ce paramètre ne doit pas se chevaucher avec le paramètre Filter.

Exemple : Knowledge.*

Exécuter le connecteur.

Suivez les étapes suivantes pour démarrer le connecteur et commencer à répliquer les données de Salesforce vers Snowflake :

  1. Faites un clic droit sur une zone vide du canevas et sélectionnez Enable all Controller Services.

  2. Faites un clic droit sur le groupe de processus du connecteur et sélectionnez Start.

Gérer la réplication des objets

Une fois le connecteur démarré et les objets répliqués, vous pouvez ajouter de nouveaux objets ou supprimer des objets existants de la réplication.

Ajouter de nouveaux objets à la réplication

Pour ajouter un nouvel objet à la réplication, mettez à jour le paramètre Filter (ou le paramètre Special Objects Filter, le cas échéant) avec les nouveaux noms d’objets. Vous n’avez pas besoin d’arrêter le connecteur. Le nouvel objet est répliqué lors de la prochaine exécution planifiée.

Par exemple, si la valeur Filter actuelle est Account, Opportunity et que voulez ajouter l’objet Contact, remplacez la valeur par Account, Opportunity, Contact.

Supprimer des objets de la réplication

La suppression d’un objet de la réplication nécessite l’arrêt du connecteur et le nettoyage de l’état du connecteur et de la table de destination dans Snowflake :

  1. Arrêtez tous les processeurs du flux en faisant un clic droit sur le groupe de processus du connecteur et en sélectionnant Stop.

  2. Assurez-vous qu’aucun FlowFiles actif est en cours de traitement.

  3. Faites un clic droit sur le canevas et sélectionnez Parameters, puis supprimez le nom de l’objet du paramètre Filter (ou du paramètre Special Objects Filter, le cas échéant).

  4. Faites un clic droit sur le canevas et sélectionnez. Disable all controller services.

  5. Accédez à Controller services et ouvrez l’état du service du contrôleur nommé Salesforce Bulk Jobs State.

  6. Sélectionnez l’icône de corbeille à côté du type d’objet que vous avez supprimé pour supprimer son entrée d’état.

  7. Faites un clic droit sur le canevas et sélectionnez Enable all controller services, puis démarrez tous les processeurs pour relancer le connecteur.

  8. Le cas échéant, supprimez la table correspondante de la base de données de destination Snowflake pour nettoyer les données précédemment répliquées. Par exemple :

    DROP TABLE <database_name>.<schema_name>.<object_name>;
    
    Copy

Prochaines étapes