Paramétrez Openflow Connector for Snowflake to Kafka¶
Note
Le connecteur est soumis aux conditions d’utilisation du connecteur.
Cette rubrique décrit les étapes pour paramétrer Openflow Connector for Snowflake to Kafka.
Conditions préalables¶
Assurez-vous d’avoir consulté À propos de Openflow Connector for Snowflake to Kafka.
Assurez-vous que vous avez paramétré Openflow.
Créez un flux Snowflake qui fera l’objet d’une requête pour les changements.
Créez un sujet Kafka qui recevra les messages CDC du flux Snowflake.
Paramétrage du compte Snowflake¶
En tant qu’administrateur de compte Snowflake, effectuez les tâches suivantes :
Créez la base de données, la table source et l’objet flux que le connecteur utilisera pour lire les événements CDC. Par exemple :
create database stream_db; use database stream_db; create table stream_source (user_id varchar, data varchar); create stream stream_on_table on table stream_source;
Créez un nouveau rôle ou utilisez un rôle existant et accordez le privilège SELECT sur le flux et l’objet source du flux. Le connecteur devra également disposer du privilège USAGE sur la base de données et le schéma contenant le flux et l’objet source du flux. Par exemple :
create role stream_reader; grant usage on database stream_db to role stream_reader; grant usage on schema stream_db.public to role stream_reader; grant select on stream_source to role stream_reader; grant select on stream_on_table to role stream_reader;
Créez un nouvel utilisateur du service Snowflake avec le type SERVICE. Par exemple :
create user stream_user type = service;
Autorisez l’utilisateur du service Snowflake le rôle que vous avez créé dans les étapes précédentes. Par exemple :
grant role stream_reader to user stream_user;
Configurez avec l’authentification par paire de clés pour l’utilisateur de Snowflake SERVICE de l’étape 3.
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. Notez toutefois que la clé privée générée à l’étape 4 peut être utilisée directement comme paramètre de configuration pour la configuration du connecteur. Dans ce cas, la clé privée est stockée dans la configuration de l’environnement d’exécution d’Openflow.
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.
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é.
Dans Openflow, configurez un fournisseur de paramètres associé à ce gestionnaire de secrets, à partir du menu hamburger en haut à droite. Naviguez vers Controller Settings » Parameter Provider et récupérez les valeurs de vos paramètres.
À 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.
Désignez un entrepôt à utiliser par le connecteur. Un connecteur peut répliquer une seule table vers un seul sujet Kafka. Pour ce type de traitement, vous pouvez choisir l’entrepôt le plus petit.
Définir le connecteur¶
En tant qu’ingénieur des données, effectuez les tâches suivantes pour installer et configurer un connecteur :
Naviguez jusqu’à la page d’aperçu d’Openflow. Dans la section Featured connectors, sélectionnez View more connectors.
Sur la page des connecteurs Openflow, trouvez et choisissez le connecteur en fonction du type d’instance de broker Kafka avec lequel le connecteur doit communiquer.
Version mTLS : choisissez ce connecteur si vous utilisez le protocole de sécurité SSL (mutual TLS) ou si vous utilisez le protocole SASL_SSL et que vous vous connectez au broker qui utilise des certificats auto-signés.
Version SASL : choisissez ce connecteur si vous utilisez un autre protocole de sécurité
Sélectionnez Add to runtime.
Dans la boîte de dialogue Select runtime, sélectionnez votre environnement d’exécution dans la liste déroulante Available runtimes.
Sélectionnez Add.
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.
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é.
Cliquez avec le bouton droit de la souris sur le groupe de processus importé et sélectionnez Parameters.
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 Kafka Sink¶
Paramètre |
Description |
Obligatoire |
---|---|---|
Identificateur de compte Snowflake |
Nom du compte Snowflake formaté comme suit : [nom de l’organisation]-[nom du compte] où les données seront conservées. Exemple : |
Oui |
Stratégie d’authentification Snowflake |
Stratégie d’authentification auprès de Snowflake. Valeurs possibles :
|
Oui |
Base de données source |
Base de données source. Cette base de données doit contenir les objets du flux Snowflake qui seront consommés. |
Oui |
Mot de passe de la clé privée de Snowflake |
Le mot de passe associé à la clé privée de Snowflake. Elle n’est pas exigée lorsque la clé privée utilisée n’est pas sécurisée par un mot de passe. |
Non |
Rôle Snowflake |
Rôle Snowflake utilisé lors de l’exécution de la requête |
Oui |
Nom d’utilisateur Snowflake |
Nom d’utilisateur utilisé pour se connecter à l’instance de Snowflake |
Oui |
Entrepôt Snowflake |
L’entrepôt de Snowflake est utilisé pour exécuter des requêtes |
Oui |
Clé privée de Snowflake |
La clé privée RSA utilisée pour l’authentification. La clé RSA doit être formatée selon les normes PKCS8 et comporter les en-têtes et pieds de page standard PEM. Notez que vous devez définir soit le fichier de clé privée de Snowflake, soit la clé privée de Snowflake. |
Oui |
Fichier de clé privée de Snowflake |
Le fichier qui contient la clé privée RSA utilisée pour l’authentification à Snowflake, formaté selon les normes PKCS8 et comportant les en-têtes et pieds de page standard PEM. La ligne d’en-tête commence par |
Non |
Schéma de la source |
Le schéma source. Ce schéma doit contenir l’objet du flux Snowflake qui sera consommé. |
Oui |
Paramètres de destination Kafka Sink¶
Paramètre |
Description |
Obligatoire |
---|---|---|
Serveurs Bootstrap Kafka |
Une liste de brokers Kafka, séparés par des virgules, vers lesquels envoyer les données. |
Oui |
Mécanisme Kafka SASL |
Mécanisme SASL utilisé pour l’authentification. Correspond à la propriété Kafka Client
|
Oui |
Nom d’utilisateur Kafka SASL |
Le nom d’utilisateur pour s’authentifier auprès de Kafka |
Oui |
Mot de passe Kafka SASL |
Le mot de passe pour s’authentifier auprès de Kafka |
Oui |
Protocole de sécurité de Kafka |
Protocole de sécurité utilisé pour communiquer avec les courtiers. Correspond à la propriété Kafka Client
|
Oui |
Rubrique Kafka |
Le sujet Kafka, où les CDCs du flux Snowflake seront envoyés |
Oui |
Champ de la clé du message Kafka |
Indiquez le nom de la colonne de la base de données qui sera utilisée comme clé du message Kafka. Si elle n’est pas spécifiée, la clé de message ne sera pas définie. Si elle est spécifiée, la valeur de cette colonne sera utilisée comme clé de message. La valeur de ce paramètre est sensible à la casse. |
Non |
Nom de fichier du keystore de Kafka |
Chemin d’accès complet à un keystore stockant une clé et un certificat client pour la méthode d’authentification mTLS. Exigence pour l’authentification mTLS et lorsque le protocole de sécurité est SSL. |
Non |
Type de keystore Kafka |
Le type de référentiel. Requis pour l’authentification mTLS. Valeurs possibles :
|
Non |
Mot de passe du keystore de Kafka |
Le mot de passe utilisé pour sécuriser le fichier keystore. |
Non |
Mot de passe de la clé Kafka |
Un mot de passe pour la clé privée stockée dans le keystore. Requis pour l’authentification mTLS. |
Non |
Nom de fichier Truststore de Kafka |
Chemin complet vers un truststore stockant les certificats des brokers. Le client utilisera le certificat de ce truststore pour vérifier l’identité du broker. |
Non |
Type de Truststore Kafka |
Le type de fichier truststore. Valeurs possibles :
|
Non |
Mot de passe du Truststore Kafka |
Un mot de passe pour le fichier truststore. |
Non |
Paramètres d’ingestion Kafka Sink¶
Paramètre |
Description |
Obligatoire |
---|---|---|
Nom du flux Snowflake FQN |
Nom complet du flux Snowflake. |
Oui |
Exécutez le flux¶
Cliquez avec le bouton droit de la souris sur l’avion et sélectionnez Enable all Controller Services.
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.