DBツールのDBeaverと連携してみる(JDBCドライバ)
はじめに(TL;DR)
Data CloudのデータをSalesforce外部から分析したい場合、JDBCドライバーをサポートするBIツールを使用することができます。本記事では、無料で利用可能なデータベース管理ツール「DBeaver」とData Cloudを接続する方法をステップバイステップでご紹介します。これにより、SQLクエリを使用してData Cloudのデータにアクセスし、分析することが可能になります。
DBeaverとは?
DBeaver(https://dbeaver.io/)は、オープンソースのデータベース管理ツールおよびSQLクライアントです。 主な特徴として、
- マルチプラットフォーム対応
- 多数のデータベースに対応
- ER図の自動生成機能
- データのエクスポート・インポート機能
- SQLエディタ機能
があります。
Data CloudとDBeaverの接続方法
1. DBeaverとの接続アプリケーションの設定
Salesforce組織の[設定]から、クイック検索ボックスに[アプリケーション]と入力し、[アプリケーションマネージャー]にアクセスします。右上の[新規接続アプリケーション]から、新規作成を行います。
必要な情報を入力します。
-
接続アプリケーション名:Data Cloud DBeaver Connection(任意の名称)
-
API参照名:Data_Cloud_DBeaver_Connection(任意の名称)
-
取引先責任者メール:ご自身のメールアドレス
-
OAuth設定の有効化:チェックON
-
コールバックURL: https://localhost
↑ユーザーとの対話を必要としないサーバー間の認証では、コールバックURLが実質的には使用されません。この場合、コールバックURLはhttps://localhostのように形式的に指定。
OAuth範囲の選択
- API を使用してユーザーデータを管理 (api)
- Data Cloud プロファイルデータを管理 (cdp_profile_api)
- Data Cloud データに対する ANSI SQL クエリを実行 (cdp_query_api)
- いつでも要求を実行 (refresh_token, offline_access)
上記入力したら、[保存]し、[次へ]
[コンシューマーの詳細を管理]をクリックするとメールアドレスに確認コードが届くため、そちらを入力します
詳細にアクセスできたら、コンシューマー鍵(clientId)とコンシューマーの秘密(clientSecret)を手元にコピーしておく(後ほど接続アプリケーションの有効化や、DBeaverとの認証に使用します。)
※コンシューマー鍵(clientId)とコンシューマーの秘密(clientSecret)は非常に重要な認証情報です。これらの情報は安全に管理し、第三者と共有しないようにしてください。また、プロダクション環境で使用する場合は、適切なセキュリティポリシーに従って管理することをお勧めします。
[設定]から、クイック検索ボックスに[OAuth]と入力し、[OAuth および OpenID Connect設定]にアクセスします。
[OAuth ユーザー名パスワードフローを許可]を[オン]にします。
2. DBeaverでの接続設定
お使いのPCにDBeaverをインストールします。(私はM1チップのMacを利用しているため、Apple Siliconようのdmgファイルからインストールしました)
インストールできたら、DBeaverを開きます。ウインドウ左上のコンセントのマークをクリックすると新規接続のウィンドウが開きます。こちらの一覧の中に、[Salesforce Data Cloud]がありますので、こちらを選択して[次へ]をクリックします。
(つまり、DBeaverは標準でData Cloudへのコネクタが用意されており、こちらの仕組みとしてはJDBC Driver経由ということになります。)
[一般タブ]の認証(Database Native)にある
- ユーザー名
- パスワード
にSalesforceのユーザー名、パスワードを入力します。
[ドライバのプロパティ]タブの中で右クリックをして2つのパラメータを定義します。
- clientId:コピーしておいたコンシューマー鍵(clientId)を貼り付け
- clientSecret:コピーしておいたコンシューマーの秘密(clientSecret)を貼り付け
入力できたら左下にある[テスト接続]をクリックし、接続成功していることを確認します。[OK]をクリックします。
Data CloudをDBeaver上で操作してみる
接続後、以下のような操作が可能になります:
-
データの閲覧
- Data Cloudのスキーマ、テーブルが表示されます
- テーブルを選択すると、カラム情報やデータ内容を確認できます
-
SQLクエリの実行
- SQLエディタでクエリを入力して実行できます
- 例:SELECT id, name_c FROM booking_c LIMIT 10;
-
データの分析
- クエリ結果のグラフ化やCSVエクスポートが可能です
おわりに
Data CloudとDBeaverをJDBCドライバー経由で接続する方法をご紹介しました。
データアナリストがData Cloudのデータを既存の分析ワークフローに統合する際に特に有用です。SQLスキルを持つ開発者がData Cloudのデータを活用できるようになります。
ぜひ、この方法を試してData Cloudのデータ活用の幅を広げてみてください!
参考情報
Salesforce 公式Help:
- https://help.salesforce.com/s/articleView?id=sf.c360_a_dbeaver_to_cdp.htm&type=5
- https://help.salesforce.com/s/articleView?id=sf.c360_a_set_up_dbeaver_connected_app.htm&type=5
DBeaver:
※本記事は、私が所属する会社とは一切関係のない事柄です。
Discussion