こんにちは!リードエンジニアの杉本です。
Yoom は さまざまなSaaS とノーコードで連携し、業務を自動化するSaaS 連携データベースです。この記事では、CData Connect Cloud を経由して Yoom からSnowflake
に接続し、Snowflake のデータを利用したフローボットを作成する方法を紹介します。
CData Connect Cloud は、Snowflake のデータのクラウド to クラウドの仮想OData インターフェースを提供し、Yoom からリアルタイムにSnowflake
データへ接続することができます。
Connect Cloud アカウントの取得
以下のステップを実行するには、CData Connect Cloud のアカウントが必要になります。こちらから製品の詳しい情報とアカウント作成、30日間無償トライアルのご利用を開始できますので、ぜひご利用ください。
CData 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 への接続設定の必要なくツールからご利用を開始いただけます。
Yoom でSnowflake Snowflake のデータをリアルタイムで操作するには、Connect Cloud からSnowflake に接続し、コネクションにユーザーアクセスを提供してSnowflake のデータのOData エンドポイントを作成する必要があります。
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 をクリックします。
- Edit Snowflake Connection ページのPermissions タブに移動し、ユーザーベースのアクセス許可を更新します。
Connect Cloud にSnowflake OData エンドポイントを追加する
Snowflake に接続したら、目的のテーブルのOData エンドポイントを作成します。
- OData ページに移動し、 Add to create new OData endpoints をクリックします。
- Snowflake コネクション(例:Snowflake1)を選択し、Next をクリックします。
- 使用するテーブルを選択し、Confirm をクリックします。
パーソナルアクセストークン(PAT)の取得
OAuth 認証をサポートしていないサービス、アプリケーション、プラットフォーム、またはフレームワークから接続する場合は、認証に使用するパーソナルアクセストークン(PAT)を作成できます。きめ細かなアクセス管理を行うために、サービスごとに個別のPAT を作成するのがベストプラクティスです。
- Connect Cloud アプリの右上にあるユーザー名をクリックし、User Profile をクリックします。
- User Profile ページで、Personal Access Tokens セクションまでスクロールし、Create PAT をクリックします。
- PAT に名前を付け、Create をクリックします。
- パーソナルアクセストークンは作成時にしか表示されないため、必ずコピーして安全に保存してください。
コネクションとOData エンドポイントが構成されたら、Yoom からSnowflake に接続できるようになります。
Yoom でフローボットを作成
Web API の準備が整ったので、Yoom にてフローボットの作成を進めていきます。
- まず、Yoom にログインします。
- フローボットを新規作成します。
ループ設定
フローボットのトリガー設定後、プロセスを作成します。まずはデータを複数行データベースに追加するため、ループ処理を設定します。ループを件数分実行するための一意のデータをSnowflake から取得します。
- CData Connect Cloud コネクタを利用して、Snowflake のデータを取得します。+ ボタンでプロセスを追加し、オペレーションタイプの選択から「アプリと連携する」を選択します。
- アプリ一覧から「CData Connect」を選択します。
- アカウント情報を登録します。アクセストークンに、Connect Cloud のアカウント(メールアドレス)とPAT をコロンで繋ぎ、Base64 エンコードしたものを設定します。
- アクション選択では、「レコードの一覧を取得」を選択します。アクション設定画面では、Connect Cloud のOData で設定したテーブル名を設定します。アウトプットを追加し、データをリスト形式で取得する設定をします。JSONPath には「$.value[*].カラム名」を指定します。
- データ取得設定を保存し、ループ処理(同じ処理を繰り返す)を追加します。
ループで利用したデータを元に他カラムのデータを取得
ループで利用した一意のデータをキーにして、Snowflake の他カラムのデータを取得します。
- ループ分岐の右側のフローでアプリ連携のプロセスを追加し、「特定のレコードを取得」アクションを設定します。
- プライマリーキーの値を設定します。「アウトプットを入力」から「ループ変数」を選択します。
- アウトプットを設定します。入力形式はテキスト、JSONPath は「value[0].カラム名」を設定します。
Yoom データベースに追加
Yoom データベースに取得したデータを追加する処理を作成します。
- オペレーションタイプの選択から「データベースを操作する」を選択し、データベース一覧からYoom データベースを選択します。
- データベースとテーブルを指定し、実行アクションで「レコードを追加する」を選択します。
- データ取得時に設定したアウトプットを、データベースのカラムに設定します。
フローボットの完成
Snowflake のデータをYoom データベースに追加するフローボットが完成しました。
- フローボットを実行し、Yoom データベースにSnowflake のデータが追加されることを確認します。
このように、CData Connect Cloud を経由することで、API 側の複雑な仕様を意識せずにSaaS と連携したフローボットをYoom で作成できます。。他にも多くのデータソースに対応するCData Connect Cloud
の詳細をこちらからご覧ください。