こんにちは!リードエンジニアの杉本です。
Coopel は DeNA 社が提供するクラウドベースのRPA サービスです。WebブラウザやExcel、SaaS などのクラウドサービスの操作の自動化が実現できます。この記事では、CData Connect Cloud を経由して Coopel からSnowflake のデータを取得し活用する方法を説明します。
CData Connect Cloud はSnowflake のデータへのクラウドベースのOData インターフェースを提供し、Coopel から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 への接続設定の必要なくツールからご利用を開始いただけます。
Coopel で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 をクリックします。
- パーソナルアクセストークンは作成時にしか表示されないため、必ずコピーして安全に保存してください。
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 エンドポイントを設定したら、Coopel からSnowflake のデータに接続できます。
Coopel でシナリオを作成する
CData Connect cloud 側の準備が完了したら、早速Coopel 側でシナリオの作成を開始します。
- まず、Coopel にログインし、必要に応じて新しいワークスペースを作成します。
- ワークスペースを作成後、CData Connect Cloud にアクセスするための認証情報をCoopel 上に保存しましょう。「シナリオアカウント設定」→「新規追加」→「その他のサービス」を選択します。
- ここで、CData Connect Cloud にアクセスするためのUserID とPassword を入力し、保存じます。Web サービス名には任意の名称を入力してください。
- 次にメインとなるシナリオを作成します。「シナリオ作成」をクリックし
- 任意の名称を入力します。
Snowflake のデータを取得する処理を作成
シナリオを作成したらSnowflake のデータを取得する処理の作成を進めましょう。
- Coopel からSnowflake のデータを取得するためには、CData Connect Cloud を経由します。Coopel では、ブラウザアクセスと同じような方法でCData Connect Cloud にアクセスするので、「URLにアクセス」のアクションを使って、データ取得を行います。Coopelのアクション一覧から「URLにアクセス」を配置し、先程検証した以下の「URL」および、「Basic認証アカウント」に指定します。
- 続いて、表示されたデータをCoopel 上で扱いやすい形にするためにテーブルデータとして取得を行います。Coopel アクションの一覧から「テーブルデータを取得」を配置し、先程作成した「URL にアクセス」をブラウザへ指定。テーブルの要素として「table」を指定します。
- これで、Coopel上でCData Connect Cloud 経由で取得したデータを操作する準備が整いました。あとはCoopel のさまざまなアクションを駆使して、フローを作成していきます。
ファイル出力処理を作成
データを取得する処理が作成できたら、そのデータをExcel ファイルに出力してみましょう。
- 最初に「ファイルの新規作成」アクションを使って、Excel ファイルを作成します。任意の名称でファイル名とシート名を指定してください。
- 次に「シートをシート名で指定」のアクションを配置して、先程作成したExcel ファイルのシートを参照します。
- シートを開いたら、取得したデータを「セルにペースト」アクションで貼り付けます。事前に作成した「対象シート」と、CData Connect Cloud から取得した「テーブルデータ」を指定します。書き込み対象セルは一番左上のセルから入力するので「A1」を指定しました。
- 最後に作成したExcel ファイルを「ファイルを保存する」アクションで保存します。以上ですべてのシナリオが完成しました。
実行
それでは完成したシナリオを実行してみましょう。
- Coopelでは画面右上の「実行」ボタンでシナリオを試すことができます。正常に実行されると、以下のように「ファイルを保存する」アクションのダイアログに生成されたExcel ファイルが表示されます。
- これをダウンロードして、Excelで開いてみると、以下のようにCData Connect Cloud 経由で取得したデータが入力されていることが確認できます。
クラウドRPA からSnowflake のデータへのライブ接続
Coopel からSnowflake リアルタイムデータに直接接続できるようになりました。これで、Snowflake のデータを複製せずにより多くの接続とシナリオを作成できます。
クラウドRPA から直接100を超えるSaaS 、ビッグデータ、NoSQL ソースへのリアルタイムデータアクセスを取得するには、CData Connect Cloud を参照してください。