本記事はAWS EC2のVMインスタンスにCData Sync を起動させ、Autifyにあるテストデータを定期的にGoogle BigQuery に連携する方法をご紹介します。
- Autify とは
- CDataSync とは
- 本記事で使うもの
- Autify のアクセストークン取得
- EC2 VM作成~CDataSync Java版のインストールまで
- Autify コネクタをCDataSync に追加
- Autify 、BigQuery への接続設定
- ジョブ作成・実行
- ジョブのスケジューリング
- おわりに
Autify とは
AIを用いたソフトウェアテスト自動化プラットフォームで、コードを書かずに簡単にテストシナリオを作成することができ、エンジニア以外でも簡単にテストシナリオを作成できるサービスです。
これまで時間を費やしていた手動テスト、自動テスト作成、またそのメンテナンスの部分が不要になります。
CDataSync とは
クラウドサービスからデータベースへのノーコードレプリケートアプリケーションになります。レプリケートとは同期するという意味になりますので、CDataSync から接続できるクラウドサービスのデータをデータベースにまるっとコピーすることができます。
本記事で使うもの
- Autify のアカウント(本記事ではAutify 上での操作は行いません)
- AWS EC2 Amazon Linux(ディストリビューションの指定などはありません)
- CData Sync(Java版)
- BigQuery (連携先のデータセットまでは事前に準備しておく)
- GCP サービスアカウント
Autify のアクセストークン取得
Autify にログインし、設定→個人設定→「新しいパーソナルトークンを生成」のところに今回生成するアクセストークンの名前を入力し、作成ボタンをクリックします。そうしますとアクセストークンを取得することができますのでメモをしておきます。
EC2 VM作成~CDataSync Java版のインストールまで
VM 作成~CDataSync Java版インストールまでの手順はこちらを参照ください。
なお、Windows環境で動く.NET版のCData Syncの場合は、インストーラーをダウンロードしてそのまま実行することでインストールが完了します。
Autify コネクタをCDataSync に追加
コネクタの追加するためにCData Sync にアクセスしてログインします。
デフォルトであれば admin/admin でログインできます。
まずはアクティベートを行います。
ヘッダーの接続ボタンから接続設定画面に遷移し、データソース→Add Moreの順にクリックします。
入力エリアにAutify と入力後、下の赤枠部分にAutify アイコンが表示されますので、クリックしてAutify コネクタを追加します。
追加が完了したら、CDataSync の再起動、もしくはVMの再起動を行います。
なお、CDataSyncの起動方法は以下の方法となります。
[root@ip-172-31-33-55 ~]# cd /opt/sync/ [root@ip-172-31-33-55 sync]# ll total 8432 drwxr-xr-x 2 root root 6 Oct 1 15:24 admin drwxr-xr-x 2 root root 268 Oct 1 15:24 api drwxr-xr-x 3 root root 66 Oct 1 15:24 db drwxr-xr-x 2 root root 4096 Oct 1 15:53 libs drwxr-xr-x 2 root root 80 Oct 1 15:55 logs -rw-r--r-- 1 root root 18205 Sep 30 09:09 readme.htm -rw-r--r-- 1 root root 8221 Sep 30 09:09 readme.txt -rw-r--r-- 1 root root 191 Sep 30 09:19 restart.sh -rwxr-xr-x 1 root root 4646 Sep 30 09:19 service -rw-r--r-- 1 root root 8575501 Sep 30 09:19 sync.jar -rw-r--r-- 1 root root 342 Sep 30 09:09 sync.logging.properties -rw-r--r-- 1 root root 27 Sep 30 09:09 syncRealm.properties drwxr-xr-x 4 root root 46 Oct 1 15:24 tmp drwxr-xr-x 2 root root 50 Oct 1 15:24 Uninstaller drwxr-xr-x 2 root root 38 Oct 1 15:24 webapp [root@ip-172-31-33-55 sync]# java -jar sync.jar
HTTPS化を行う場合は以下のヘルプを参照下さい。
http://cdn.cdata.com/help/ASE/jp/sync/Java-Edition.html#ssltls-%E3%81%AE%E6%9C%89%E5%8A%B9%E5%8C%96
CDataSync 接続後、以下のようにAutify コネクタが表示されれば追加が完了となります。
Autify 、BigQuery への接続設定
Autify 接続設定
まずはAutify の接続設定から行います。
名前、ApiKey、プロジェクトIDを入力し、接続のテストを行います。問題なければ保存します。
BigQuery 接続設定
Sync では、レプリケートジョブを実行時に同期先DBに対してテーブルを自動で作成するようになりますが、その際にBigQueryの情報として必要なのがプロジェクトIDとデータセットIDになりますので、この情報をBigQueryのコネクション設定画面で入力します。
ヘッダーで「接続」をクリックして以下の画面を表示後、「同期先」→「BigQuery」の順でクリックしていきます。
今回、BigQuery への接続にはサービスアカウントを使用します。接続情報ファイルの内容をコピーして以下項目に設定お願いします。
【設定タブ】
- 名前:BigQuery
- フォーマット設定:プロパティリスト
- Auth Scheme:OAuth
- Dataset Id:利用するBigQueryのデータセットID(RDBでいうスキーマ)
- Project Id:GCP のプロジェクトID
【Advancedタブ】
- OAuth JWT Cert: p12ファイルのパス
- OAuth JWT Cert Password:パスワード
- OAuth JWT Cert Subject: *
- OAuth JWT Cert Type:PFXFILE
- OAuth JWT Issuer: サービスアカウント名
入力完了後、設定タブに戻って右下の接続ボタン押下をクリック
接続テストが正常に完了した場合は、画面に緑色の帯でSuccessなどと表示されますので、右上の「変更を保存」で保存を行います。
これでBigQueryのコネクション設定が完了です。
ジョブ作成・実行
ヘッダーの「ジョブ」→「ジョブを追加」でジョブの枠を作成します。ソースにAutify、同期先にBigQuery を指定して作成します。
「テーブルを追加」をクリックすると、テストシナリオやテスト結果を選択できるようになっています。今回はScenarios とTestPlanResults を選択ししてシナリオとテスト結果の同期を行ってみます。
※TestCaseResultsと、TestPlanCapabilityResults は必ずTestIdが必要となりますので、ご注意ください。
選択すると、自動的にクエリがセットされますので、左側のチェックボックスをオンにして実行ボタンをクリックします。
レプリケートが完了しますと、実行日時とレプリケート件数が表示されます。
それではBigQuery コンソールを参照してみましょう。
今回使用しているAutify データセットの中に、Scenarios とTestPlanResults とうテーブルが作成され、レコードも格納されていることが確認できました。
ジョブのスケジューリング
ジョブ画面の中段にある「スケジュール」タブよりジョブ実行のスケジューリングを行うことが出来ます。
以下は毎日23時に行うようにセットしていますが、時間単位、分単位の設定も可能です。
設定後は、以下の画面で次の実行タイミングが表示されるようになります。
これで、定期的にテストデータをBigQuery に連携できるようになりました。
おわりに
いかがでしたでしょうか。今回のようにCDataSync を使うことでAutify のデータを簡単にBigQuery にレプリケートすることができました。
BigQuery 以外の場合でも同じ手順を踏むことで同期先を簡単に変更することができます。