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

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

  2. Assurez-vous d’avoir Configuration d’Openflow - BYOC ou Configuration d’Openflow - Déploiement Snowflake - Vue d’ensemble des tâches.

  3. Créez un flux Snowflake qui fera l’objet d’une requête pour les changements.

  4. 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 :

  1. 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;
    
    Copy
  2. 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;
    
    Copy
  3. Créez un nouvel utilisateur du service Snowflake avec le type SERVICE. Par exemple :

    create user stream_user type = service;
    
    Copy
  4. 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;
    
    Copy
  5. Configurez avec l’authentification par paire de clés pour l’utilisateur de Snowflake SERVICE de l’étape 3.

  6. 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.

    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.

  7. 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 :

  1. Naviguez jusqu’à 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 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é

  3. Sélectionnez Add to runtime.

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

  5. Sélectionnez Add.

  6. 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.

  7. 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é.

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

  9. 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

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

Stratégie d’authentification Snowflake

Lorsque vous utilisez :

  • Déploiement Snowflake Openflow : Utilisez SNOWFLAKE_SESSION_TOKEN. Ce jeton est géré automatiquement par Snowflake.

  • BYOC : Utilisez KEY_PAIR comme valeur pour la stratégie d’authentification.

Oui

Base de données source

Base de données source. Cette base de données doit contenir l’objet du flux Snowflake qui sera consommé.

Oui

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 d’exécution. Vous pouvez trouver votre rôle d’exécution dans l’UI d’Openflow, en naviguant jusqu’à View Details pour votre 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

Clé privée de Snowflake

Laissez ce champ vide lorsque vous utilisez le jeton de session pour votre stratégie d’authentification. Lorsque vous utilisez KEY_PAIR, fournissez 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 que fichier de la clé privée Snowflake ou que la clé privée Snowflake doit être défini.

Oui

Fichier de clé privée de Snowflake

Laissez ce champ vide lorsque vous utilisez le jeton de session pour votre stratégie d’authentification. Lorsque vous utilisez 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. Cochez la case Reference asset pour charger le fichier de la clé privée.

Non

Schéma de la source

Le schéma source. Ce schéma doit contenir l’objet du flux Snowflake qui sera consommé.

Oui

Entrepôt Snowflake

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

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 sasl.mechanism. Valeurs possibles :

  • PLAIN

  • SCRAM-SHA-256

  • SCRAM-SHA-512

  • AWS_MSK_IAM

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 security.protocol. Valeurs possibles :

  • PLAINTEXT

  • SASL_PLAINTEXT

  • SASL_SSL

  • SSL

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 :

  • PKCS12

  • JKS

  • BCFKS

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 :

  • PKCS12

  • JKS

  • BCFKS

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

  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.