Lightning Connect で PostgreSQL External オブジェクトと連携

CData Connect Server をつかって、PostgreSQL のデータ の仮想SQL Server として接続し、スマートデバイスやクラウドアプリケーションで利用。Connect Server と Salesforce Lightning Connect を使ってPostgreSQL オブジェクトを作成して、アプリケーションやダッシュボードでデータを使用。

加藤龍彦
デジタルマーケティング

最終更新日:2022-11-25

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData Connect Server を使ってSalesforce コンソールやSalesforce Mobile App からPostgreSQL のデータ に接続することができます。 この記事では、CData Connect Server およびSalesforce Lightning Connect をつかって、PostgreSQL 外部オブジェクトを作成します。

CData Connect Server は、ピュアSQL のクラウドインターフェースをPostgreSQL に提供し、データを複製せずにSalesforce Lightning Connect からリアルタイムPostgreSQL のデータとの統合を手軽に実現します。Salesforce Lightning Connect はCData Connect Server をSQL Server データベースとして認識し、最適化されたデータ処理を使用してサポートされているすべてのSQL 操作(フィルタ、JOIN など)をPostgreSQL に直接プッシュして、サーバー側の処理を利用して、PostgreSQL のデータを素早く返します。

  1. Connect Server にログインし、[DATA MODEL]をクリックします。 データベースを追加
  2. [Available Data Sources]から[PostgreSQL]を選択します。
  3. 必要な認証プロパティを入力し、PostgreSQL に接続します。

    PostgreSQL への接続には、Server、Port(デフォルトは5432)、Database、およびUser、Password のプロパティを設定します。Database プロパティが設定されない場合には、User のデフォルトデータベースに接続します。

    パスワード方式によるSSH 接続

    パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。

    • User: PostgreSQL のユーザ
    • Password: PostgreSQL のパスワード
    • Database: PostgreSQL の接続先データベース
    • Server: PostgreSQL のサーバー
    • Port: PostgreSQL のポート
    • UserSSH: "true"
    • SSHAuthMode: "Password"
    • SSHPort: SSH のポート
    • SSHServer: SSH サーバー
    • SSHUser: SSH ユーザー
    • SSHPassword: SSH パスワード

    接続文字列形式では以下のようになります。

    User=admin;Password=adminpassword;Database=test;Server=postgresql-server;Port=5432;UseSSH=true;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;

    公開鍵認証方式によるSSH 接続

    公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。

    • User: PostgreSQL のユーザ
    • Password: PostgreSQL のパスワード
    • Database: PostgreSQL の接続先データベース
    • Server: PostgreSQL のサーバー
    • Port: PostgreSQL のポート
    • UserSSH: "true"
    • SSHAuthMode: "Public_Key"
    • SSHClientCertType: キーストアの種類
    • SSHPort: SSH のポート
    • SSHServer: SSH サーバー
    • SSHUser: SSH ユーザー
    • SSHClientCert: 秘密鍵ファイルのパス

    接続文字列形式では以下のようになります。

    User=admin;Password=adminpassword;Database=test;Server=PostgreSQL-server;Port=5432;UseSSH=true;SSHClientCertType=PEMKEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem; 接続の設定
  4. Create & Test をクリックします。
  5. Edit PostgreSQL Connection ページのPermissions タブに移動し、ユーザーベースのアクセス許可を更新します。 権限を更新
  6. USERS タブでAuthToken を取得します。

コネクションが構成されたら、Salesforce Lightning Connect からPostgreSQL に接続できるようになります。

PostgreSQL データ にOData データソースとして接続

次の手順で、Connect Server からのフィードに接続する設定を行います。

  1. セールスフォースにログインして、[設定]→[開発]→[外部データソース]をクリックします。
  2. [新規外部データソース]をクリックします。
  3. 以下のプロパティにデータを入力します。:
    • 外部データソース: リストビューやレポートで使われるラベル名を入力。
    • 名前: ユニークな識別子を入力。
    • 種別: SQL Server を選択。
  4. 認証には、次のプロパティを設定します:
    • 認証プロトコル: パスワード認証を選択します。OAuth 2.0 も選択可能です。
    • Certificate: Enter or browse to the certificate to be used to encrypt and authenticate communications from Salesforce to your server.
    • 管理者ユーザ名: Connect Server で設定したユーザー名を入力。
    • 管理者パスワード: ユーザーのauth トークンを入力。
Configuration settings for the data source. (NetSuite is shown.)

PostgreSQL データ と同期したオブジェクトの作成

外部データソース作成後、次の手順で PostgreSQL のデータを反映する外部オブジェクトを作成します。 PostgreSQL 外部オブジェクトとPostgreSQL テーブルの定義を同期する必要があります。

  1. 作成した外部データソースを選択します。
  2. [検証して同期]をクリックします。
  3. PostgreSQL テーブルをクリックして、外部オブジェクトとします。
The list of tables to synchronize in Salesforce. (NetSuite is shown.)

Salesforce オブジェクトとして PostgreSQL データ にアクセス

PostgreSQL のデータ を外部データソースとして追加し、PostgreSQL テーブルをPostgreSQL 外部データソースとして同期すると、標準のSalesforce オブジェクトとして外部オブジェクトを使用することができます。

  • フィルターリストビュー付で新しいタブを作成する:

    A filtered list view shown on a custom tab. (NetSuite Invoices are shown.)
  • 標準Salesforce オブジェクトと並べて PostgreSQL 外部オブジェクトをディスプレイできます:

    A related list that shows an indirect lookup relationship, which links a child external object to a parent standard object. (Salesforce accounts and associated NetSuite invoices are shown.)

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。