こんにちは!リードエンジニアの杉本です。
Qlik Replicate はBI ツールのQlik Sense で有名な、Qlik 社が提供するデータ分析基盤のためのデータパイプライン・データ統合ツールです。主要なプラットフォームに多く対応しているのが特徴で、AWS・GCP・Azure・Oracle・Snowflake などのDWH に各種データを取り込むことが可能です。
Qlik Replicate ではODBC インターフェースが用意されているので、CData ODBC Driver for Asana と組み合わせることで、各種クラウドサービスのAPI にアクセスすることができるようになります。本記事では、CData ODBC ドライバを使ってQlik Replicate からAsana のデータをMySQL にレプリケートする方法をご紹介します。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- Asana をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにAsana のデータを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてAsana の接続を設定、2.Qlik Replicate 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとAsana への接続設定
まずは、本記事右側のサイドバーからAsana ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
インストール後、ODBC DSN(データソース名)で接続プロパティを設定します。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および設定できます。
Asana への接続は以下のように行います。
- WorkspaceId: Asana Wrokspace のglobally unique identifier (gid) を設定すると指定されたWorkspace
のプロジェクトだけを返します。Workspace Id はhttps://app.asana.com/api/1.0/workspaces
から取得します。表示されるJSON にWorkspace name およびId が含まれます。
- ProjectId: Asana Project のglobally unique identifier (gid) に設定すると指定されたProject のデータだけを返します。Project ID
はプロジェクトのOverview ページのURL を参照してください。/0/ の後ろの数字 です。
OAuth 認証
Asana への認証にはOAuth 認証が使われます。OAuth はAsana のブラウザで認証ユーザーを認証する処理が必要です。OAuth の詳細については、ヘルプドキュメントの「はじめに」を参照してください。
Qlik Replicate にODBC データソースを追加
CData ODBC ドライバの設定が完了したら、Qlik Replicate を立ち上げてレプリケーション構成を進めていきましょう。Qlik Replicate ではタスクという単位でレプリケーション処理を構成していきますが、まずタスクで利用するデータソースとレプリケーション先のコネクション情報を登録する必要があるので、この設定を行います。
- Qlik Replicate の管理画面に移動したら、 「Manage Endpoint Connections…」をクリックします。
- その後表示される画面で、「+New Endpoint Connection」をクリック。この画面からデータソースとレプリケーション先(ターゲット)のコネクションを構成していきます。
- まずはデータソースとなるAsana へのコネクションを構成します。前述の通り、Asana への連携はCData ODBC ドライバを経由して行うため、「Role:Source」「Type:ODBC」でコネクションを構成します。
- そして、事前に構成しておいたAsana のDSN を指定します。任意のName を指定したあと、Test Connection がパスできれば設定完了です。
MySQL Target 接続を追加
続いて、レプリケーション先となるMySQL へのコネクションも追加します。
- 先程と同じように「+New Endpoint Connection」をクリックします。
- 「Role: Target」「Type: MySQL」を指定して、Server アドレスやUserName、Password などMySQL 接続に必要な接続情報をそれぞれ指定し、保存します。
Task の構成
コネクションの作成が完了したら、実際のレプリケーション処理であるTask の作成を進めていきましょう。
- 「+New Task」をクリックし、任意の名称でTask を作成します。Replication Profileは「Unidirectional:単方向」でTask Optionsは「Full Load」を指定します。
- タスク作成後の画面で、データソースには先程作成したAsana のコネクションを、ターゲットにはMySQL のコネクションを、ドラッグドロップでそれぞれ指定します。
レプリケーション対象のテーブルを選択
データソースとターゲットを決めたら、レプリケーション対象のテーブルを指定しましょう。
- 「Table Selection」をクリックします。
- 「Search」をクリックして、対象となるテーブルを検索します。以下のようにAsana のテーブル一覧が表示されるので、任意のテーブルを選択していきます。
- これで以下のように選択されればOK です。ちなみにデフォルトではテーブルの全レコード・全カラムをレプリケーションしますが、Global Rules から細かな条件や項目の設定がチューニング可能です。
作成したTask を実行
それでは作成したTask を実際に実行してみましょう。
- 「Run」をクリックすることで、レプリケーションを開始できます。
- レプリケーションが進むとMonitor 画面に遷移し、レプリケーション結果を確認できます。Completed が表示されればOKです。
- 実際にMySQL のテーブルを確認してみると、以下のようにテーブルが自動生成され、データが正常に複製されていました。
おわりに
このようにCData ODBC ドライバを利用することで、各種クラウドサービスをQlik Replicate の接続先として利用できるようになります。
CData ではAsana 以外にも270種類以上のデータソース向けにODBC Driver を提供しています。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
日本のユーザー向けにCData Sync は、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。