Snowflake Native SDK für Konnektoren

Snowflake Native SDK for Connectors ist eine Bibliothek, die ein Skeleton der nativen Snowflake-App bereitstellt, deren Zweck es ist, Daten aus einer externen Datenquelle in Snowflake zu importieren. Wir nennen eine solche App einen nativen Konnektor.

Snowflake Native SDK für Konnektoren ist ein Set von Anwendungsvorlagen und Quickstarts, die zeigen, wie Sie eine Snowflake Native App erstellen können, die Daten aus einer externen Datenquelle in Snowflake erfasst. Diese Vorlagen decken Pull- und Push-basierte Datenintegrationsmuster ab.

Diese Vorlagen schränken die Entwickler weder ein, noch begrenzen sie sie. Stattdessen bieten die Vorlagen Beispiele für die Verwendung von Snowflake-Features zum Einlesen von Daten und zur Kapselung von Anwendungscode innerhalb einer Snowflake Native App.

Das Snowflake Native App Framework ermöglicht Anbietern die Veröffentlichung und Monetarisierung einer Snowflake Native App auf Snowflake Marketplace. Snowflake Native App-Entwickler können das Vorlagen-Repository klonen, den Boilerplate-Code ändern und eigene Snowflake-Konnektoren erstellen.

Was ist ein nativer Konnektor?

Ein Konnektor ist eine Anwendung, die den Datenfluss von einem externen Quellsystem in Snowflake ermöglicht. Ein nativer Konnektor ist eine Konnektoranwendung, die mithilfe des Snowflake Native App Framework erstellt und bereitgestellt wird. Es gibt verschiedene Typen von Konnektoren:

  • Pull-basierte Konnektoren

  • Push-basierte Konnektoren

Die Snowflake Native SDK for Connectors unterstützt derzeit nur das Pull-Muster.

Pull-basierte Konnektoren

Pull-basierte Muster sind effektiv, wenn der Quelldatenanbieter keine Kundendaten in Snowflake verwaltet und nicht bereit ist, Kosten (COGS) für eine kontinuierliche Datenfreigabe in Snowflake zu übernehmen. Diese Muster sind auch dann wirksam, wenn ein Quelldatenanbieter über gut dokumentierte APIs verfügt, die Kunden zur Replikation und Nutzung von Daten verwenden können.

Verwenden eines Pull-basierten Musters

Durch die Verwendung eines Pull-basierten Konnektormusters können Anbieter (Snowflake oder ein ETL-Drittanbieter) einen nativen Konnektor, d. h. einen auf einer Snowflake Native App basierenden Konnektor, über Snowflake Marketplace veröffentlichen und vertreiben. Ein nativer Konnektor verwendet einen direkten externen Zugriff, um eine Verbindung mit der Quellanwendung herzustellen. Er führt eine ausgehende Authentifizierung durch, ruft Daten aus der Quelle direkt in das Snowflake-Konto eines Kunden ab sowie verarbeitet und speichert die Daten auf der Grundlage der vom Benutzer festgelegten Konfiguration.

Pull-basierte Architektur

Push-basierte Konnektoren

Die Verwendung eines Push-basierten Musters ist sinnvoll, wenn der eingehende Zugriff auf die Quellanwendung über die Firewall des Kunden aus Sicherheits-, Leistungs- oder Governance-Gründen nicht möglich ist. Bei diesem Muster werden ein Agent und eine Snowflake Native App verwendet, um Kunden die Möglichkeit zu geben, Datenänderungen hinter einer Firewall in Snowflake zu erfassen.

Verwenden eines Push-basierten Musters

Ein Agent ist eine eigenständige, als Docker-Image verteilte Anwendung, die in einer Kundenumgebung bereitgestellt wird und dafür verantwortlich ist, erstmalige und inkrementelle Loads an Snowflake zu senden, indem Datenänderungen aus einer CDC-Quellstream gelesen werden.

Eine Snowflake Native App wird innerhalb von Snowflake ausgeführt und koordiniert die Integration. Sie ist in erster Linie für das Verwalten des Replikationsprozesses, das Steuern des Agentenzustands und das Erstellen der erforderlichen Objekte, einschließlich der Zieldatenbanken, verantwortlich.

Push-basierte Architektur

Wie ist das native SDK für Konnektoren?

Das Snowflake Native SDK for Connectors ist eine Bibliothek, die universelle Komponenten bereitstellt, mit denen Sie eine kundenspezifische native Snowflake-App erstellen können, die Daten aus einer externen Datenquelle in Snowflake erfasst. Die bereitgestellten Komponenten definieren den empfohlenen Ablauf

der Konnektor-Anwendung und ermöglichen die Anpassung und den Ausschluss einiger Features. Ab sofort wird das Snowflake Native SDK for Connectors als Code für die lokale Entwicklung ausschließlich in Java bereitgestellt. Zusätzlich wird eine zweite Bibliothek mit nützlichen Hilfs- und Dienstklassen zum Schreiben von Unit-Tests bereitgestellt. Diese Bibliotheken finden Sie im zentralen Maven-Repository:

Die mitgelieferten Beispiele, die diese Bibliotheken verwenden, enthalten auch Beispielskripte, die für die Erstellung und Bereitstellung von Instanzen der Anwendung in Snowflake verwendet werden können.

Die Snowflake Native SDK for Connectors wurde entwickelt, um Anwendungen auf der Grundlage von Snowflake Native App Framework zu erstellen und diese dann über den Snowflake Marketplace zu veröffentlichen und zu vermarkten. Um das Snowflake Native SDK for Connectors zu verwenden, klonen Sie sie von einer Vorlage oder Beispielanwendung.

Das Snowflake Native SDK for Connectors nutzt die folgenden Features von Snowflake:

Zusätzliche Informationen

Weitere Informationen zu den Vorlagen und Quickstarts finden Sie unter:

Mehr erfahren

Weitere Informationen zur Implementierung von Konnektoren finden Sie unter Erste Schritte mit dem Snowflake Native SDK for Connectors.