こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
Azure Data Factory(ADF)は、フルマネージドのサーバーレスデータ統合サービスです。
CData Connect Server と組み合わせると、ADF はデータフローでHubDB データにクラウドベースで即座にアクセスできます。
この記事では、Connect Server を使用してHubDB に接続し、ADF でHubDB データにアクセスする方法を紹介します。
CData Connect Server は、HubDB にクラウドベースインターフェースを提供し、ネイティブにサポートされているデータベースにデータを複製することなく、Azure Data Factory でのリアルタイムHubDB データへのアクセスを実現します。
CData Connect Server は、最適化されたデータ処理により、サポートされているすべてのSQL 操作(フィルタ、JOIN など)をHubDB に直接プッシュし、サーバー側の処理を利用して要求されたHubDB データを高速で返します。
ホスティングについて
ADF からCData Connect Server に接続するには、利用するConnect Server インスタンスをネットワーク経由での接続が可能なサーバーにホスティングして、URL での接続を設定する必要があります。CData Connect がローカルでホスティングされており、localhost アドレス(localhost:8080 など)またはローカルネットワークのIP アドレス(192.168.1.x など)からしか接続できない場合、ADF はCData Connect Server に接続することができません。
クラウドホスティングでの利用をご希望の方は、AWS Marketplace やGCP Marketplace で設定済みのインスタンスを提供しています。
HubDB データの仮想データベースを作成する
CData Connect Server は、シンプルなポイントアンドクリックインターフェースを使用してデータソースに接続し、データを取得します。まずは、右側のサイドバーのリンクからConnect Server をインストールしてください。
- Connect Server にログインし、「CONNECTIONS」をクリックします。
- 一覧から「HubDB」を選択します。
-
HubDB に接続するために必要な認証プロパティを入力します。
HubDBデータソースへの接続には、パブリックHubSpotアプリケーションを使用したOAuth認証とプライベートアプリケーショントークンを使用した認証の2つの方法があります。
カスタムOAuthアプリを使用する
すべてのOAuthフローでAuthSchemeを"OAuth"に設定する必要があります。特定の認証ニーズ(デスクトップアプリケーション、Webアプリケーション、ヘッドレスマシン)に必要な接続プロパティについては、ヘルプドキュメントを確認してください。
アプリケーションを登録し、OAuthクライアント認証情報を取得するには、以下の手順を実行してください。
- HubSpotアプリ開発者アカウントにログインします。
- アプリ開発者アカウントである必要があります。標準のHubSpotアカウントではパブリックアプリを作成できません。
- 開発者アカウントのホームページで、アプリタブをクリックします。
- アプリを作成をクリックします。
- アプリ情報タブで、ユーザーが接続する際に表示される値を入力し、必要に応じて変更します。これらの値には、パブリックアプリケーション名、アプリケーションロゴ、アプリケーションの説明が含まれます。
- 認証タブで、「リダイレクトURL」ボックスにコールバックURLを入力します。
- デスクトップアプリケーションを作成する場合は、http://localhost:33333のようなローカルにアクセス可能なURLに設定します。
- Webアプリケーションを作成する場合は、ユーザーがアプリケーションを承認した際にリダイレクトされる信頼できるURLに設定します。
- アプリを作成をクリックします。HubSpotがアプリケーションとそれに関連する認証情報を生成します。
- 認証タブで、クライアントIDとクライアントシークレットを確認します。これらは後でドライバーを設定する際に使用します。
スコープの下で、アプリケーションの意図する機能に必要なスコープを選択します。
テーブルにアクセスするには、最低限以下のスコープが必要です:
- hubdb
- oauth
- crm.objects.owners.read
- 変更を保存をクリックします。
- 統合に必要な機能にアクセスできる本番ポータルにアプリケーションをインストールします。
- 「インストールURL(OAuth)」の下で、完全なURLをコピーをクリックして、アプリケーションのインストールURLをコピーします。
- コピーしたリンクをブラウザで開きます。アプリケーションをインストールする標準アカウントを選択します。
- アプリを接続をクリックします。結果のタブは閉じて構いません。
プライベートアプリを使用する
HubSpotプライベートアプリケーショントークンを使用して接続するには、AuthSchemeプロパティを"PrivateApp"に設定します。
以下の手順に従ってプライベートアプリケーショントークンを生成できます:
- HubDBアカウントで、メインナビゲーションバーの設定アイコン(歯車)をクリックします。
- 左サイドバーメニューで、統合 > プライベートアプリに移動します。
- プライベートアプリを作成をクリックします。
- 基本情報タブで、アプリケーションの詳細(名前、ロゴ、説明)を設定します。
- スコープタブで、プライベートアプリケーションがアクセスできるようにしたい各スコープに対して読み取りまたは書き込みを選択します。
- テーブルにアクセスするには、最低限hubdbとcrm.objects.owners.readが必要です。
- アプリケーションの設定が完了したら、右上のアプリを作成をクリックします。
- アプリケーションのアクセストークンに関する情報を確認し、作成を続行をクリックし、その後トークンを表示をクリックします。
- コピーをクリックして、プライベートアプリケーショントークンをコピーします。
接続するには、PrivateAppTokenを取得したプライベートアプリケーショントークンに設定します。
- 「 Test Connection」をクリックします。
- 「Permission」->「 Add」とクリックし、適切な権限を持つ新しいユーザー(または既存のユーザー) を追加します。
仮想データベースが作成されたら、Azure Data Factoro を含むお好みのクライアントからHubDB に接続できるようになります。
Azure Data Factory からリアルタイムHubDB データにアクセス
Azure Data Factory からCData Connect Server の仮想SQL Server API への接続を確立するには、以下の手順を実行します。
- Azure Data Factory にログインします。
- まだData Factory を作成していない場合は、「New -> Dataset」をクリックします。
- 検索バーにSQL Server と入力し、表示されたら選択します。次の画面で、サーバーの名前を入力します。
Linked service フィールドで「New」を選択します。
-
接続設定を入力します。
- Name - 任意の名前を入力。
- Server name - Connect Server のURL とポートをカンマで区切って入力。例:CONNECT_SERVER_URL,1433
-
Database name - 接続したいCData Connect Server データソースのConnection Name を入力。例:HubDB1
-
User Name - CData Connect Server のユーザー名を入力。ユーザー名はCData Connect Server のインターフェースの右上に表示されています。
例:[email protected]
- Password - Password(Azure Key Vault ではありません)を選択してConnect Server のパスワードを入力。
- 「Create」をクリックします。
-
Set properties で、Name を設定し、続けて先ほど作成したLinked service、利用可能なTable name、Import schema のfrom connection/store を選択します。
「OK」をクリックします。
- リンクされたサービスを作成すると、以下の画面が表示されます。
- Preview data をクリックすると、インポートされたHubDB テーブルが表示されます。
Azure Data Factory でデータフローを作成する際、このデータセットを使用できるようになりました。
CData Connect Server の入手
CData Connect Server の30日間無償トライアルを利用して、クラウドアプリケーションから直接100を超えるSaaS、ビッグデータ、NoSQL データソースへのSQL アクセスをお試しください!