こんにちは!リードエンジニアの杉本です。
Yoom は さまざまなSaaS とノーコードで連携し、業務を自動化するSaaS 連携データベースです。この記事では、CData Connect Cloud を経由して Yoom からMySQL
に接続し、MySQL のデータを利用したフローボットを作成する方法を紹介します。
CData Connect Cloud は、MySQL のデータのクラウド to クラウドの仮想OData インターフェースを提供し、Yoom からリアルタイムにMySQL
データへ接続することができます。
Connect Cloud アカウントの取得
以下のステップを実行するには、CData Connect Cloud のアカウントが必要になります。こちらから製品の詳しい情報とアカウント作成、30日間無償トライアルのご利用を開始できますので、ぜひご利用ください。
CData Connect Cloud の設定
Yoom でMySQL MySQL のデータをリアルタイムで操作するには、Connect Cloud からMySQL に接続し、コネクションにユーザーアクセスを提供してMySQL のデータのOData エンドポイントを作成する必要があります。
Connect Cloud からMySQL に接続
CData Connect Cloud では、簡単なクリック操作ベースのインターフェースでデータソースに接続できます。
- Connect Cloud にログインし、 Add Connection をクリックします。
- Add Connection パネルから「MySQL」を選択します。
-
必要な認証プロパティを入力し、MySQL に接続します。
Server およびPort プロパティがMySQL への接続には必須です。IntegratedSecurity をFALSE に設定した場合、User、Password も必須になります。
オプションで、Database を設定することもできます。Database は設定がない場合すべてのデータベースを使えるようになります。
パスワード方式によるSSH 接続
パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: MySQL のユーザ
- Password: MySQL のパスワード
- Database: MySQL の接続先データベース
- Server: MySQL のサーバー
- Port: MySQL のポート
- UserSSH: "true"
- SSHAuthMode: "Password"
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHPassword: SSH パスワード
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=mysql-server;Port=3306;UseSSH=true;SSHAuthMode=Password;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;
公開鍵認証方式方式によるSSH 接続
公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: MySQL のユーザ
- Password: MySQL のパスワード
- Database: MySQL の接続先データベース
- Server: MySQL のサーバー
- Port: MySQL のポート
- UserSSH: "true"
- SSHAuthMode: "Public_Key"
- SSHClientCertType: キーストアの種類
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHClientCert: 秘密鍵ファイルのパス
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=mysql-server;Port=3306;UseSSH=true;SSHAuthMode=Public_Key;SSHClientCertType=PUBLIC_KEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;
- Create & Test をクリックします。
- Edit MySQL Connection ページのPermissions タブに移動し、ユーザーベースのアクセス許可を更新します。
Connect Cloud にMySQL OData エンドポイントを追加する
MySQL に接続したら、目的のテーブルのOData エンドポイントを作成します。
- OData ページに移動し、 Add to create new OData endpoints をクリックします。
- MySQL コネクション(例:MySQL1)を選択し、Next をクリックします。
- 使用するテーブルを選択し、Confirm をクリックします。
パーソナルアクセストークン(PAT)の取得
OAuth 認証をサポートしていないサービス、アプリケーション、プラットフォーム、またはフレームワークから接続する場合は、認証に使用するパーソナルアクセストークン(PAT)を作成できます。きめ細かなアクセス管理を行うために、サービスごとに個別のPAT を作成するのがベストプラクティスです。
- Connect Cloud アプリの右上にあるユーザー名をクリックし、User Profile をクリックします。
- User Profile ページで、Personal Access Tokens セクションまでスクロールし、Create PAT をクリックします。
- PAT に名前を付け、Create をクリックします。
- パーソナルアクセストークンは作成時にしか表示されないため、必ずコピーして安全に保存してください。
コネクションとOData エンドポイントが構成されたら、Yoom からMySQL に接続できるようになります。
Yoom でフローボットを作成
Web API の準備が整ったので、Yoom にてフローボットの作成を進めていきます。
- まず、Yoom にログインします。
- フローボットを新規作成します。
ループ設定
フローボットのトリガー設定後、プロセスを作成します。まずはデータを複数行データベースに追加するため、ループ処理を設定します。ループを件数分実行するための一意のデータをMySQL から取得します。
- CData Connect Cloud コネクタを利用して、MySQL のデータを取得します。+ ボタンでプロセスを追加し、オペレーションタイプの選択から「アプリと連携する」を選択します。
- アプリ一覧から「CData Connect」を選択します。
- アカウント情報を登録します。アクセストークンに、Connect Cloud のアカウント(メールアドレス)とPAT をコロンで繋ぎ、Base64 エンコードしたものを設定します。
- アクション選択では、「レコードの一覧を取得」を選択します。アクション設定画面では、Connect Cloud のOData で設定したテーブル名を設定します。アウトプットを追加し、データをリスト形式で取得する設定をします。JSONPath には「$.value[*].カラム名」を指定します。
- データ取得設定を保存し、ループ処理(同じ処理を繰り返す)を追加します。
ループで利用したデータを元に他カラムのデータを取得
ループで利用した一意のデータをキーにして、MySQL の他カラムのデータを取得します。
- ループ分岐の右側のフローでアプリ連携のプロセスを追加し、「特定のレコードを取得」アクションを設定します。
- プライマリーキーの値を設定します。「アウトプットを入力」から「ループ変数」を選択します。
- アウトプットを設定します。入力形式はテキスト、JSONPath は「value[0].カラム名」を設定します。
Yoom データベースに追加
Yoom データベースに取得したデータを追加する処理を作成します。
- オペレーションタイプの選択から「データベースを操作する」を選択し、データベース一覧からYoom データベースを選択します。
- データベースとテーブルを指定し、実行アクションで「レコードを追加する」を選択します。
- データ取得時に設定したアウトプットを、データベースのカラムに設定します。
フローボットの完成
MySQL のデータをYoom データベースに追加するフローボットが完成しました。
- フローボットを実行し、Yoom データベースにMySQL のデータが追加されることを確認します。
このように、CData Connect Cloud を経由することで、API 側の複雑な仕様を意識せずにSaaS と連携したフローボットをYoom で作成できます。。他にも多くのデータソースに対応するCData Connect Cloud
の詳細をこちらからご覧ください。