コネクタ用Snowflake Native SDK

Snowflake Native SDK for Connectors は、外部データソースからSnowflakeにデータを取り込むことを目的としたSnowflakeネイティブアプリのスケルトンを提供するライブラリです。このようなアプリを ネイティブコネクタ と呼びます。

コネクタ用Snowflake Native SDK は、外部データソースからSnowflakeにデータをインジェストするSnowflake Native Appの構築方法を示すアプリケーションテンプレートとクイックスタートのセットです。これらのテンプレートは、プルベースとプッシュベースのデータ統合パターンを網羅しています。

これらのテンプレートは、開発者を制限したり限定したりするものではありません。代わりに、テンプレートはSnowflakeのコア機能を使用してデータをインジェストし、アプリケーションコードを Snowflake Native App 内にカプセル化する方法の例を提供します。

Snowflake Native App Framework により、プロバイダーは Snowflake Marketplace 上で Snowflake Native App を公開して収益化することができます。 Snowflake Native App の開発者は、テンプレートリポジトリをクローニングし、定型コードを修正して、独自のSnowflakeコネクタを作成できます。

ネイティブコネクタとは何ですか?

コネクタとは、外部ソースシステムからSnowflakeへのデータフローを可能にするアプリケーションのことです。ネイティブコネクタとは、 Snowflake Native App Framework を使用して構築およびデプロイされたコネクタアプリケーションのことです。コネクタには次のような種類があります。

  • プルベースのコネクタ

  • プッシュベースのコネクタ

Snowflake Native SDK for Connectors は現在、プルベースのパターンのみをサポートしています。

プルベースのコネクタ

プルベースのパターンは、ソースデータプロバイダーがSnowflakeで顧客データを管理しておらず、Snowflakeでの継続的なデータ共有のために COGS を負担したくない場合に効果的です。これらのパターンは、ソースデータプロバイダーが、顧客がデータを複製して利用するために使用できる、十分に文書化された APIs を持っている場合にも効果があります。

プルベースのパターンの使用方法

プルベースのコネクタパターンを使用すると、プロバイダー(Snowflakeまたはサードパーティの ETL プロバイダー)は、Snowflake Marketplaceを使用して Snowflake Native App に基づくネイティブコネクタを公開および配布できます。ネイティブコネクタは、ソースアプリケーションとの接続に直接外部アクセスを使用します。アウトバウンド認証を実行し、ソースから直接顧客のSnowflakeアカウントにデータをフェッチし、ユーザーが指定した構成に基づいてデータを処理して保持します。

プルベースのアーキテクチャ

プッシュベースのコネクタ

プッシュベースのパターンの使用は、顧客のファイアウォールを介したソースアプリケーションへのインバウンドアクセスが、セキュリティ、パフォーマンス、またはガバナンスの制限のために実行不可能な場合に効果的です。このパターンでは、エージェントと Snowflake Native App を使用して、ファイアウォールの背後からデータの変更をSnowflakeに取り込むことを可能にします。

プッシュベースのパターンの使用方法

エージェントは、Dockerイメージとして配布されるスタンドアロンアプリケーションで、顧客環境に展開され、ソース CDC ストリームからデータ変更を読み取ることによって、Snowflakeに初期ロードと増分ロードを送信する役割を果たします。

Snowflake Native App はSnowflake内で実行され、統合を調整します。主な役割は、複製プロセスの管理、エージェントの状態の制御、ターゲットデータベースを含む必要なオブジェクトの作成です。

プッシュベースのアーキテクチャ

コネクタのネイティブ SDK とは何ですか?

Snowflake Native SDK for Connectors は、外部データソースからSnowflakeにデータを取り込むカスタムSnowflakeネイティブアプリを構築するために使用できるユニバーサルコンポーネントを提供するライブラリです。提供されるコンポーネントは、コネクタアプリケーションの

推奨フローを定義し、カスタマイズや一部の機能の除外を可能にします。現時点では、Snowflake Native SDK for Connectors は、ローカルでJavaのみで構築されるコードとして提供されています。さらに、ユニットテストの作成に役立つヘルパークラスとユーティリティクラスを含む2番目のライブラリも提供されます。これらのライブラリは、Maven Central Repositoryにあります。

これらのライブラリを使用する例には、Snowflake内でアプリケーションのインスタンスをデプロイおよび作成するために使用できるサンプルスクリプトも含まれています。

Snowflake Native SDK for Connectors は、 Snowflake Native App Framework に基づいてアプリケーションを構築し、Snowflake Marketplaceを使用して公開および収益化するときに使用するように設計されています。 Snowflake Native SDK for Connectors を使用するには、テンプレートまたはサンプルアプリケーションからクローンします。

Snowflake Native SDK for Connectors は、Snowflakeの次の機能を活用します。

追加情報

テンプレートとクイックスタートの詳細については、次をご参照ください。

詳細

コネクタの実装の詳細については、 Snowflake Native SDK for Connectors 入門 をご参照ください。