こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
Informatica は、データを転送・変換するための強力で立派な手段を提供します。CData JDBC Driver for HubDB を利用することで、Informatica の強力なデータ転送および操作機能とシームレスに統合される、業界で実証済みの標準に基づくドライバーにアクセスできます。このチュートリアルでは、Informatica PowerCenter でHubDB を転送および参照する方法を示します。
ドライバーをデプロイ
ドライバーをInformatica PowerCenter サーバーに展開するために、インストールディレクトリのlib サブフォルダにあるCData JAR および.lic ファイルを次のフォルダにコピーします。Informatica-installation-directory\services\shared\jars\thirdparty.
Developer ツールでHubDB を使用するには、インストールディレクトリのlib サブフォルダにあるCData JAR および.lic ファイルを次のフォルダにコピーする必要があります。
- Informatica-installation-directory\client\externaljdbcjars
- Informatica-installation-directory\externaljdbcjars
JDBC 接続の作成
以下のステップに従って、Informatica Developer に接続します。
- [Connection Explorer]ペインで[domain]を右クリックし、[Create a Connection]をクリックします。
- 表示される[New Database Connection]ウィザードで、接続の名前とId を入力し、[Type]メニューで[JDBC]を選択します。
- [JDBC Driver Class Name]のプロパティで次のコードを入力します。
cdata.jdbc.hubdb.HubDBDriver
- [Connection String]プロパティでは、HubDB の接続プロパティを使用してJDBC URLを入力します。
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を取得したプライベートアプリケーショントークンに設定します。
ビルトイン接続文字列デザイナ
JDBC URL の構成については、HubDB JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.hubdb.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的な接続文字列です。
jdbc:hubdb:AuthScheme=OAuth;OAuthClientID=MyOAuthClientID;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;InitiateOAuth=GETANDREFRESH
HubDB テーブルを参照
ドライバーJAR をクラスパスに追加してJDBC 接続を作成すると、Informatica のHubDB エンティティにアクセスできるようになります。以下のステップに従ってHubDB に接続し、HubDB テーブルを参照します。
- リポジトリに接続します。
- [Connection Explorer]で、[connection]を右クリックし、[Connect]をクリックします。
- [Show Default Schema Only]オプションをクリアします。
以下より、[Data Viewer]でHubDB テーブルを参照できるようになります。テーブルの[node]を右クリックし、[Open]をクリックします。[Data Viewer]で[Run]をクリックします。
HubDB データオブジェクトの作成
以下のステップに従って、プロジェクトにHubDB テーブルを追加します。
- HubDB でテーブルを選択し、右クリックして[Add to Project]をクリックします。
- 表示されるダイアログでリソースごとにデータオブジェクトを作成するオプションを選択します。
- [Select Location]ダイアログで、プロジェクトを選択します。
マッピングの作成
以下のステップに従って、マッピングにHubDB ソースを追加します。
- [Object Explorer]でプロジェクトを右クリックし、[New]->[Mapping]と進みます。
- HubDB 接続のノードを展開し、テーブルのデータオブジェクトをエディターにドラッグします。.
- 表示されるダイアログで、[Read]オプションを選択します。
以下のステップに従って、HubDB カラムをフラットファイルにマッピングします。
- [Object Explorer]でプロジェクトを右クリックし、[New]->[Data Object]と進みます。
- [Flat File Data Object]->[Create as Empty]->[Fixed Width]と選択していきます。
- HubDB オブジェクトのプロパティで必要な行を選択して右クリックし、[copy]をクリックします。行をフラットファイルのプロパティにペーストします。
- フラットファイルのデータオブジェクトをマッピングにドラッグします。
- 表示されるダイアログで、[Write]オプションを選択します。
- クリックしてドラッグすることで、列を接続します。
HubDB を転送するために、ワークスペースで右クリックし、[Run Mapping]をクリックします。