コネクタ用Snowflake Native SDK

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

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

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

プルベースのコネクタテンプレートとクイックスタート

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

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

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

次の図は、プルベースのパターンを使用してNativeコネクタを開発する場合に可能なアーキテクチャを示しています。

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

追加情報

テンプレートとクイックスタートは以下のリンクからご覧ください。

プッシュベースのコネクタテンプレートとクイックスタート

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

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

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

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

次の図は、プッシュベースのパターンを使用してNativeコネクタを開発する場合に可能なアーキテクチャを示しています。

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

追加情報

例とクイックスタートは以下のリンクからご覧ください。

コネクタ用Snowflake Native SDK の次のステップ

Snowflakeでは、コネクタ用Snowflake Native SDK のフェーズ2で、インジェスチョンジョブの管理方法、再利用可能なライブラリの形でよく使われるコネクタブロックを一般化する方法などを示す例を追加する予定です。具体的な例、新しいライブラリ、その他の追加や更新は変更される可能性があることに注意してください。

フェーズ2のプレビューにサインアップするには、コネクタ用 Snowflake Native SDK のページ をご参照ください。