こんにちは!リードエンジニアの杉本です。
BizteX Connect は BizteX 社が提供する国産iPaaS です。ノーコードでkintone やChatwork などさまざまなクラウドサービスと連携したフローを作成し、業務の自動化・効率化を実現することができます。この記事では、CData Connect Cloud を経由して BizteX Connect からSnowflake のデータを取得し活用する方法を説明します。
CData Connect Cloud はSnowflake のデータへのクラウドベースのOData インターフェースを提供し、BizteX Connect からSnowflake のデータへのアクセスを実現します。
Connect Cloud アカウントの取得
以下のステップを実行するには、CData Connect Cloud のアカウントが必要になります。こちらから製品の詳しい情報とアカウント作成、30日間無償トライアルのご利用を開始できますので、ぜひご利用ください。
Snowflake とのデータ連携について
CData は、Snowflake のライブデータへのアクセスと連携を容易にします。CData のコネクティビティを活用することで、次のようなことを実現できます。
- Snowflake のデータを迅速かつ効率的に読み書き。
- 指定したウェアハウス、データベース、スキーマのメタデータを動的に取得。
- OAuth、OKTA、Azure AD、Azure Managed Service Identity、PingFederate、秘密鍵など、さまざまな方法による認証。
多くのCData ユーザーは、CData のソリューションを使用して好みのツールやアプリケーションからSnowflake にアクセスしたり、さまざまなシステムからSnowflake にデータをレプリケートして包括的なウェアハウスや分析を実現したりしています。
Snowflake とCData ソリューションの連携についての詳細は、ブログを参照してください: パフォーマンス低下でSnowflake 統合を停滞させないで。
Connect Cloud を構成
Snowflake Partner Connect を使って、Connect Cloud への接続を簡単に設定
Snowflake にログインした状態で「Snowflake Partner Connect」からCData Connect Cloud に直接サインアップして使用開始できます。
Snowflake のUI から「Data Products」 -> 「Partner Connect」の画面に移動し、「CData Software」をクリックすると、CData Connect Cloud にサインアップしてSnowflake への接続を自動作成してくれます。
この方法でサインアップした場合、Snowflake への接続設定の必要なくツールからご利用を開始いただけます。
BizteX Connect でSnowflake のデータを操作するには、Connect Cloud からSnowflake に接続し、コネクションにユーザーアクセスを提供してSnowflake のデータのOData エンドポイントを作成する必要があります。
Snowflake に接続したら、目的のテーブルのOData エンドポイントを作成します。
(オプション)新しいConnect Cloud ユーザーの追加
必要であれば、Connect Cloud 経由でSnowflake に接続するユーザーを作成します。
- 「Users」ページに移動し、 Invite Users をクリックします。
- 新しいユーザーのE メールアドレスを入力して、 Send をクリックしてユーザーを招待します。
- 「Users」ページからユーザーを確認および編集できます。
パーソナルアクセストークン(PAT)の追加
OAuth 認証をサポートしていないサービス、アプリケーション、プラットフォーム、またはフレームワークから接続する場合は、認証に使用するパーソナルアクセストークン(PAT)を作成できます。きめ細かなアクセス管理を行うために、サービスごとに個別のPAT を作成するのがベストプラクティスです。
- Connect Cloud アプリの右上にあるユーザー名をクリックし、「User Profile」をクリックします。
- 「User Profile」ページで「Access Token」セクションにスクロールし、 Create PAT をクリックします。
- PAT の名前を入力して Create をクリックします。
- パーソナルアクセストークン(PAT)は作成時にしか表示されないため、必ずコピーして安全に保存してください。
Connect Cloud からSnowflake に接続
CData Connect Cloud では、簡単なクリック操作ベースのインターフェースでデータソースに接続できます。
- Connect Cloud にログインし、 Add Connection をクリックします。
- 「Add Connection」パネルから「Snowflake」を選択します。
-
必要な認証プロパティを入力し、Snowflake に接続します。
Snowflake への接続には以下の情報が必要となります。
- User およびPassword をSnowflake ユーザーに設定し、AuthScheme をPASSWORD もしくはOKTA に設定します。
- URL をSnowflake インスタンスのURL に設定します(i.e.: https://myaccount.snowflakecomputing.com)。
- Warehouse をSnowflake warehouse に設定します。
- (Optional) Account URL が上記の形式に当てはまらない場合、Snowflake のアカウントに設定します。
- (Optional) Database およびSchema は、参照できるテーブルやビューを制限する場合に指定します。
詳細はヘルプドキュメントを参照してください。
- Create & Test をクリックします。
- 「Add Snowflake Connection」ページの「Permissions」タブに移動し、ユーザーベースのアクセス許可を更新します。
Connect Cloud にSnowflake OData エンドポイントを追加する
Snowflake に接続したら、目的のテーブルのOData エンドポイントを作成します。
- OData ページに移動し、 Add をクリックして新しいOData エンドポイントを作成します。
- Snowflake 接続(例:Snowflake1)を選択し、Next をクリックします。
- 使用するテーブルを選択し、「Confirm」をクリックします。
コネクションとOData エンドポイントを設定したら、BizteX Connect からSnowflake のデータに接続できます。
Snowflake のデータに接続したプロジェクト・シナリオの作成
CData Connect Cloud 側の準備が完了したら、早速BizteX Connect 側でプロジェクト・シナリオの作成を開始します。
- まずはプロジェクトとシナリオ(フロー)を作成します。シナリオ(フロー)はプロジェクト単位でまとめて管理できるようです。
- 「新規プロジェクト作成」をクリック
- 任意の名称でプロジェクトを作成します。
- その後「+新規シナリオ作成」をクリックして、Snowflake のデータ連携シナリオの作成を進めていきます。
起動イベントの設定
シナリオの作成で一番最初に設定することが、起動イベントの構成です。BizteX Connect ではさまざまな起動イベントが存在しますが、今回は検証用途として「手動」実行にしてみました。
- 「アプリ選択」の一覧から「一般」を選択し
- 「ボタンを押して実行」を選択します。
- それぞれのイベントでは出力データが変数として格納されます。内容を確認して「完了して次へ」をクリックしましょう。
HTTP コネクタの構成
今回のシナリオでは、Snowflake のデータを取得して BizteX Connect で扱えるようにします。
- CData Connect Cloud へのアクセスには「HTTP コネクタ」が利用できるので、アプリの一覧から選択します。
- アクションは「HTTP リクエスト」を指定します。
- 続いて、データを取得するためのAPI リクエストを指定します。今回はデータを取得するのでGET リクエストです。対象のURL はCData Connect Cloud のAPI ドキュメントから取得してきて指定しましょう。
- 基本設定が完了したら、オプションを指定します。ここで最低限必要になるオプションはCData Connect Cloud への認証情報の指定です。以下のようなJSON 形式でx-cdata-authtoken のプロパティにCData Connect Cloud で構成したユーザーのトークンを指定すれば接続が行えます。
- すべての設定が完了したら出力結果を確認してみましょう。以下のようにBody の中の「value」オブジェクトの中に配列形式でデータが格納されていることが確認できます。正常にBizteX Connect からSnowflake のデータが取得できていますね。
- あとはBizteX Connect の各種機能を活用して、さまざまなサービスとの連携を実現できます。
クラウドアプリケーションからSnowflake のデータへのライブ接続
BizteX Connect からSnowflake リアルタイムデータに直接接続できるようになりました。これで、Snowflake のデータを複製せずにより多くの接続とアプリを作成できます。
クラウドアプリケーションから直接100を超えるSaaS 、ビッグデータ、NoSQL ソースへのリアルタイムデータアクセスを取得するには、CData Connect Cloud を参照してください。