SDK natif Snowflake pour les connecteurs

Snowflake Native SDK for Connectors est une bibliothèque qui fournit un squelette de l’application native de Snowflake dont le but est d’ingérer des données à partir d’une source de données externe dans Snowflake. Nous appelons ce type d’application un connecteur natif.

Le SDK natif Snowflake pour les connecteurs est un ensemble de modèles d’application et de démarrages rapides qui montrent comment créer une application native Snowflake qui ingère les données d’une source de données externe dans Snowflake. Ces modèles couvrent les modèles d’intégration des données basés sur le pull et le push.

Ces modèles ne restreignent ni ne limitent les développeurs. Au lieu de cela, les modèles fournissent des exemples sur la façon d’utiliser les fonctionnalités principales de Snowflake pour intégrer des données et encapsuler le code d’application dans une Snowflake Native App.

Le Snowflake Native App Framework permet aux fournisseurs de publier et de monétiser une Snowflake Native App sur Snowflake Marketplace. Les développeurs Snowflake Native App peuvent cloner le référentiel de modèles, modifier le code passe-partout et créer leurs propres connecteurs Snowflake.

Qu’est-ce qu’un connecteur natif ?

Un connecteur est une application qui permet le flux de données d’un système source externe vers Snowflake. Un connecteur natif est une application de connecteur construite et déployée à l’aide de Snowflake Native App Framework. Il existe différents types de connecteurs :

  • connecteurs basés sur le pull

  • connecteurs basés sur le push

Snowflake Native SDK for Connectors ne prend actuellement en charge que le modèle basé sur le pull.

Connecteurs basés sur le pull

Les modèles basés sur le pull sont efficaces lorsque le fournisseur de données source ne gère pas les données client dans Snowflake et n’est pas disposé à payer COGS pour un partage continu de données dans Snowflake. Ces modèles sont également efficaces lorsqu’un fournisseur de données sources dispose d’APIs bien documentées que les clients peuvent utiliser pour répliquer et consommer des données.

Comment utiliser un modèle basé sur le pull

En utilisant un modèle de connecteur basé sur le pull, les fournisseurs (Snowflake ou un fournisseur ETL tiers) peuvent publier et distribuer un connecteur natif basé sur une Snowflake Native App à l’aide de Snowflake Marketplace. Un connecteur natif utilise un accès externe direct pour se connecter à l’application source. ll effectue une authentification sortante, récupère les données de la source directement dans un compte client de Snowflake, traite et conserve les données en fonction de la configuration spécifiée par l’utilisateur.

Architecture basée sur le pull

Connecteurs basés sur le push

L’utilisation d’un modèle basé sur le push est efficace lorsque l’accès entrant à l’application source via le pare-feu client n’est pas réalisable en raison de limitations de sécurité, de performances ou de gouvernance. Ce modèle utilise un agent et une Snowflake Native App pour permettre aux clients d’intégrer les modifications de données dans Snowflake derrière un pare-feu.

Comment utiliser un modèle basé sur le push

Un agent est une application autonome, distribuée sous forme d’image Docker, déployée dans un environnement client et chargée d’envoyer les charges initiales et incrémentielles à Snowflake en lisant les modifications de données à partir d’un flux source CDC.

Une Snowflake Native App s’exécute dans Snowflake et coordonne l’intégration. Elle est principalement responsable de la gestion du processus de réplication, du contrôle de l’état de l’agent et de la création des objets requis, y compris les bases de données cibles.

Architecture basée sur le push

Quel est le SDK natif pour les connecteurs ?

Snowflake Native SDK for Connectors est une bibliothèque qui fournit des composants universels pouvant être utilisés pour construire une application native Snowflake personnalisée qui ingère les données d’une source de données externe dans Snowflake. Les composants fournis définissent le flux recommandé

de l’application du connecteur et permettent de personnaliser et d’exclure certaines fonctions. Pour l’instant, la version native du SDK Snowflake pour les connecteurs est fournie sous forme de code à construire localement et uniquement en Java. En outre, une deuxième bibliothèque contenant des classes d’aide et d’utilité utiles pour l’écriture de tests unitaires est fournie. Ces bibliothèques se trouvent dans Maven Central Repository :

Les exemples fournis utilisant ces bibliothèques comprennent également des scripts d’exemple qui peuvent être utilisés pour déployer et créer des instances de l’application à l’intérieur de Snowflake.

Snowflake Native SDK for Connectors est conçu pour être utilisé lors de la création d’applications basées sur le Snowflake Native App Framework, puis pour les publier et les monétiser à l’aide de Snowflake Marketplace. Pour utiliser Snowflake Native SDK for Connectors, clonez-le à partir d’un modèle ou d’une application d’exemple.

Snowflake Native SDK for Connectors exploite les fonctions suivantes de Snowflake :

Informations supplémentaires

Pour plus d’informations sur les modèles et les quickstarts, voir :

En savoir plus

Pour plus d’informations sur la mise en œuvre des connecteurs, voir Premiers pas avec Snowflake Native SDK for Connectors