RPA ツールBizRobo! でSnowflake に連携したフローを作成する

杉本和也
杉本和也
リードエンジニア
RPA ツールBizRobo! で Snowflake に連携したフローを作成する方法:CData JDBC Driver。



BizRobo! はRPAテクノロジーズ株式会社が提供する低コストかつスモールスタートで利用できるRPA ツールです。
この記事では、BizRobo! に備わっているJDBC インターフェースと CData JDBC Driver for Snowflake を組み合わせることによりBizRobo! でSnowflake データを活用した自動化フローを作成する方法を紹介します。

BizRobo! 環境の構成

はじめるにあたりBizRobo! 側の環境を用意しておきます。

  1. 今回は検証にあたって、BizRobo! Basic を利用しました。JDBC Driver のアップロードに「BizRobo! Management Console」を利用するためです。
  2. 「BizRobo! Management Console」にアクセスするために、あらかじめBizRobo! Basic がインストールされたサーバー上で「Start Management Console」を実行しておきましょう。

CData JDBC Driver for Snowflake のインストール

続いてCData JDBC Driver for Snowflake をBizRobo! と同じマシンにインストールします。

  1. 以下のパスにJDBC Driver がインストールされます。
    C:\Program Files\CData\CData JDBC Driver for Snowflake 20xxJ\lib\cdata.jdbc.snowflake.jar
  2. 続いて、接続用の文字列を取得するために、CData JDBC Driverの接続ユーティリティを利用しましょう。対象の「cdata.jdbc.snowflake.jar」を実行します。
  3. 以下のような接続テストツールが立ち上がるので必要なプロパティを指定し接続テストを実行します。入力した接続文字列はあとで利用するので控えておきましょう。
    URL:
    jdbc:snowflake:User=Admin;Password=test123;Server=localhost;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;
  4. また、事前に DbVisualizer のようなJDBC の接続ツールでどのようなデータが取得できるか確認しておくのがおすすめです。
  5. それでは、Snowflake データベースに接続していきましょう。認証に加えて、以下の接続プロパティを設定します。

    • Url:お使いのSnowflake URL を指定します。例:https://orgname-myaccount.snowflakecomputing.com
      • Legacy URL を使用する場合:https://myaccount.region.snowflakecomputing.com
      • ご自身のURL は以下のステップで確認できます。
        1. Snowflake UI の左下にあるユーザー名をクリックします
        2. Account ID にカーソルを合わせます
        3. Copy Account URL アイコンをクリックして、アカウントURL をコピーします
    • Database(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限したい場合に設定します
    • Schema(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限したい場合に設定します

    Snowflakeへの認証

    CData 製品では、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、UserPassword を設定し、AuthScheme プロパティで認証方法を選択してください。

    キーペア認証

    ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成し、キーペア認証で接続することも可能です。この方法で接続するには、AuthSchemePRIVATEKEY に設定し、以下の値を設定してください。

    • User:認証に使用するユーザーアカウント
    • PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー
    • PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)
    • PrivateKeyPassword:指定されたプライベートキーのパスワード

    その他の認証方法については、ヘルプドキュメントの「Snowflakeへの認証」セクションをご確認ください。

BizRobo! にJDBC Driver をアップするために lic ファイルを調整

併せてCData JDBC ドライバのライセンスファイルをBizRobo! にアップロードするために少し追加の作業を実施します。

  1. 「lib」フォルダに存在する「cdata.jdbc.snowflake.lic」ファイルをZIPに圧縮し
  2. 名前を「cdata.jdbc.snowflake.lic.jar」に変更しておきます。これでBizRobo! にアップロードできるようになります。

BizRobo! Managmenet Console にJDBC Driver をアップロード

それでは「BizRobo! Managmenet Console」でCData JDBC ドライバを利用できるように設定を進めていきましょう。

  1. 「設定」→「データベース ドライバー」から「cdata.jdbc.snowflake.jar」、「cdata.jdbc.snowflake.lic.jar」2つのファイルをアップロードします。
  2. CData JDBC ドライバのアップロードが完了したら「データベースタイプ」で接続設定を追加しましょう。「設定」→「データベース タイプ」から「新しいタイプ」として以下の情報を入力し保存します。
    名前: 例)CData JDBC Driver
    JDBC ドライバー:cdata.jdbc.snowflake.SnowflakeDriver
    接続URL テンプレート:
    jdbc:snowflake:User=Admin;Password=test123;Server=localhost;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;

    SQLフレーバー:PostgreSQL
  3. 続いて対象のクラスタにデータベース接続を追加します。「管理」→「RoboServer」から対象のクラスタの「クラスタ設定」を開きます。
  4. 「新しいデータベース」をクリックし各種情報を指定します。この際、明示的な指定が必要なものは「タイプ」だけです。ここで先ほど作成したデータベースタイプを入力します。
    それ以外の情報は内部的には利用しないので、任意の文字列を入力してもらって構いません。
  5. これで設定を反映させれば対象のクラスタでCData JDBC ドライバが利用できるようになります。

データベース設定をプロジェクトに追加

Design Studio を立ち上げて、ロボットを作成するためのプロジェクト側の準備を進めていきましょう。

  1. 「BizRobo! Managmenet Console」で追加したデータベース設定は Design Studio のデータベース一覧に表示されるのでここから右クリックで「プロジェクトに追加」から対象の環境に追加します。
  2. 任意のマッピング名で追加します。
  3. ちなみにデフォルトでは警告メッセージが表示されてしまうので、追加したデータベース マッピングの「設定」から
  4. 「警告を表示」のチェックを外しておくと良いです。

データを格納するためのタイプを追加

続いて、取得したデータを変数に適切に追加するために、「タイプ」を作成しましょう。

  1. メニューの「ファイル」→「新しいタイプ」をクリックし
  2. 任意のタイプ名で作成します。
  3. あとは下記のように各種項目を定義します。

新しいWeb オートメーションロボットを追加

実際にロボットの作成を開始します。

  1. 「メニュー」から「新しい Web オートメーションロボット」を選択し
  2. 任意の名称で作成します。
  3. これで以下のようにデフォルトのロボットが作成され、フローのデザイン画面が表示されます。

変数の準備

取得したデータを格納する変数を設定します。

  1. 以下の変数画面から「+」ボタンをクリックし
  2. 先ほど作成したタイプを元に変数を追加します。

データベース照会アクションを追加

変数を追加したら、実際にCData JDBC ドライバ経由でデータを取得するアクションを追加します。

  1. デザイン画面から「アクション ステップ」を追加し
  2. アクションの一覧から「データベース照会」を選択します。「データベース」で先ほど登録したデータベースマッピングを選択し、SQL クエリの欄にデータを取得するためのクエリを入力します。
    最後に変数マップとして先ほど登録したタイプ変数にSQL クエリで取得できる各項目をマッピングします。

CSV 出力フローを追加

取得したデータはBizRobo! の機能を使って、自由に処理できます。

  1. 今回は試しにCSV データとして出力を行ってみました。詳細な手順は省略しますが、フローの作成方法はBizRobo! のマニュアルを参考に作成しています。
  2. 対象のCSV ファイルを読み込むアクションを追加し、LongText の変数に格納します。
  3. そのCSV ファイルデータを元に、レコードを1行づつ追加するファイル出力アクションを設定しました。

デバッグして実際に動かしてみる

これでロボットが完成です。それでは実際に動かしてみましょう。

  1. デバッグ画面に移動して、「実行」ボタンをクリックします。
  2. 正常にロボットが動作すると、以下のようにCSV ファイルが生成されます。

このようにCData JDBC Driver for Snowflake とBizRobo! を組み合わせることで、簡単にSnowflake のデータを活用した自動化フローを作成することができました。ぜひ、30日の無償評価版をお試しください。

はじめる準備はできましたか?

Snowflake Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Snowflake Enterprise Data Warehouse Icon Snowflake JDBC Driver お問い合わせ

驚くほど簡単にJDBC でJava アプリケーションからSnowflake にデータ連携!