製品をチェック

Amazon Athena Driver の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

Amazon Athena アイコン Amazon Athena JDBC Driver 相談したい

Amazon Athena 連携のパワフルなJava アプリケーションを素早く作成して配布。

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

RPA ツールBizRobo! で Amazon Athena に連携したフローを作成する方法:CData JDBC Driver。

杉本和也
リードエンジニア

最終更新日:2022-03-24
athena ロゴ

CData

jdbc ロゴ画像
BizRobo! ロゴ

こんにちは!リードエンジニアの杉本です。

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

BizRobo! 環境の構成

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

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

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

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

  1. 以下のパスにJDBC Driver がインストールされます。
    C:\Program Files\CData\CData JDBC Driver for AmazonAthena 20xxJ\lib\cdata.jdbc.amazonathena.jar
  2. 続いて、接続用の文字列を取得するために、CData JDBC Driverの接続ユーティリティを利用しましょう。対象の「cdata.jdbc.amazonathena.jar」を実行します。
  3. 以下のような接続テストツールが立ち上がるので必要なプロパティを指定し接続テストを実行します。入力した接続文字列はあとで利用するので控えておきましょう。
    URL:jdbc:amazonathena:AccessKey='a123';SecretKey='s123';Region='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';
  4. また、事前に DbVisualizer のようなJDBC の接続ツールでどのようなデータが取得できるか確認しておくのがおすすめです。
  5. Amazon Athena 接続プロパティの取得・設定方法

    Amazon Athena リクエストの認証には、アカウントの管理のクレデンシャルか、IAM ユーザーのカスタムPermission を設定します。 AccessKey にAccess Key Id、SecretKey にはSecret Access Key を設定します。

    AWS アカウントアドミニストレータとしてアクセスできる場合でも、AWS サービスへの接続にはIAM ユーザークレデンシャルを使用することが推奨されます。

    IAM ユーザーのクレデンシャル取得は以下のとおり:

    1. IAM コンソールにログイン。
    2. Navigation ペインで「ユーザー」を選択。
    3. ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから「セキュリティ認証情報」タブを選択。

    AWS ルートアカウントのクレデンシャル取得は以下のとおり:

    1. ルートアカウントの資格情報を使用してAWS 管理コンソールにサインイン。
    2. アカウント名または番号を選択し、表示されたメニューで「My Security Credentials」を選択。
    3. 「Continue to Security Credentials」をクリックし、「Access Keys」セクションを展開して、ルートアカウントのアクセスキーを管理または作成。

    EC2 インスタンスからの認証

    EC2 インスタンスからCData 製品を使用していて、そのインスタンスにIAM ロールが割り当てられている場合は、認証にIAM ロールを使用できます。 これを行うには、UseEC2Roles をtrue に設定しAccessKeySecretKey を空のままにします。 CData 製品は自動的にIAM ロールの認証情報を取得し、それらを使って認証します。

    AWS ロールとして認証

    多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。 代わりにRoleARN を指定してAWS ロールを使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。 (すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、役割を担うIAM ユーザーのAccessKeySecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey およびSecretKey を指定する場合、 ロールは使用できません。

    MFA での認証

    多要素認証を必要とするユーザーおよびロールには、MFASerialNumber およびMFAToken 接続プロパティを指定してください。 これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでMFA 認証情報を送信します。一時的な認証情報の有効期間 (デフォルトは3600秒)は、TemporaryTokenDuration プロパティを介して制御できます。

    Amazon Athena への接続

    AccessKeySecretKey プロパティに加え、DatabaseS3StagingDirectoryRegion を設定します。Region をAmazon Athena データがホストされているリージョンに設定します。S3StagingDirectory をクエリの結果を格納したいS3内のフォルダに設定します。

    接続にDatabase が設定されていない場合は、CData 製品はAmazon Athena に設定されているデフォルトデータベースに接続します。

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

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

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

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

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

  1. 「設定」→「データベース ドライバー」から「cdata.jdbc.amazonathena.jar」、「cdata.jdbc.amazonathena.lic.jar」2つのファイルをアップロードします。
  2. CData JDBC ドライバのアップロードが完了したら「データベースタイプ」で接続設定を追加しましょう。「設定」→「データベース タイプ」から「新しいタイプ」として以下の情報を入力し保存します。
    名前: 例)CData JDBC Driver
    JDBC ドライバー:cdata.jdbc.amazonathena.AmazonAthenaDriver
    接続URL テンプレート:jdbc:amazonathena:AccessKey='a123';SecretKey='s123';Region='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';
    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 AmazonAthena とBizRobo! を組み合わせることで、簡単にAmazon Athena データを活用した自動化フローを作成することができました。ぜひ、30日の無償評価版をお試しください。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。