製品をチェック

CData Sync の機能を5分で体験できるツアー、および製品の詳細はこちら。

 5分で製品機能を体験する

製品の詳細

Sync アイコン CData Sync へ

MYOB AccountRight データ をHeroku Postgres にレプリケーションして、Salesforce Connect から利用する方法

ETL / ELT ツールのCData Sync を使って、MYOB AccountRight のデータのHeroku Postgres へのETL パイプラインをノーコードで作成する方法を解説します。

宮本航太
プロダクトスペシャリスト

最終更新日:2024-01-01
myobaccountright ロゴ

CData

sync ロゴ画像
Heroku / Salesforce Connect ロゴ

こんにちは!プロダクトスペシャリストの宮本です。

CData Sync は、いろいろなシナリオのデータレプリケーション(同期)を行うことができるスタンドアロンのアプリケーションです。例えば、sandbox および本番インスタンスのデータをデータベースに同期することができます。MYOB AccountRight のデータ をHeroku 上のPostgreSQL に同期することで、Salesforce の通常オブジェクトに加えて、Salesforce 外部オブジェクト(Salesforce Connect)としてMYOB AccountRight のデータへのアクセスが可能になります。

要件

本レプリケーション例では、次が必要です:

  1. CData Sync (試用版もしくは商用版)、およびMYOB AccountRight のレプリケーションに必要なライセンス。
  2. Heroku Postgress を含むHeroku app および、Heroku Connect アドオン許可。
  3. Salesforce アカウント。

レプリケーション同期先の設定

CData Sync を使って、MYOB AccountRight のデータ をHeroku 上のPostgreSQL データベースにレプリケーションできます。本記事では、Heroku 上の既存のPostgreSQL を使用します。PostgreSQL データベースをレプリケーション先に指定するには、[接続]タブから進みます。

  1. [同期先]タブをクリックします。
  2. PostgreSQL を同期先として選択します。

    PostgreSQL への接続には、Port(デフォルトでは5432)、およびデータベース接続プロパティを設定し、サーバーに認証するuser およびpassword を設定します。データベースプロパティが指定されていない場合には、ユーザーのデフォルトデータベースに接続します。

  3. 接続のテスト]をクリックして、正しく接続できているかをテストします。 PostgreSQL データベースの接続設定。
  4. [変更を保存]をクリックします。

MYOB AccountRight 接続の設定

データソース側にMYOB AccountRight を設定します。[接続]タブをクリックします。

  1. [接続の追加]セクションで[データソース]タブを選択します。
  2. MYOB AccountRight アイコンをデータソースとして選択します。プリインストールされたソースにMYOB AccountRight がない場合には、追加データソースとしてダウンロードします。
  3. 接続プロパティに入力をします。

    MYOB への接続

    MYOB 会社ファイルに接続するには、CompanyFileId をデータを取得したい会社ファイルのID に設定します。指定しない場合は、最初に返された会社ファイルのID(アルファベット順にソート)が使用されます。

    この接続プロパティは、CompanyFiles ビューを除くすべてのテーブルおよびビューにアクセスするために必要です。CompanyFiles ビューは、アカウントに紐づく会社ファイル(およびその関連ID)を表示するために使用できます。会社ファイルのID がわからない場合は、このビューを使用してください。

    次のプロパティを追加設定します。

    オンプレミスインスタンスInstanceOnPremise に設定。
    AuthSchemeBasic に設定。
    User:会社のファイルに紐づいているユーザー名。会社ファイルを作成すると、Administrator というユーザーアカウントが自動的に作成されます。デフォルトでは、Administrator ユーザーアカウントにはパスワードが割り当てられません。
    InitiateOAuth:OFF。
    Url:MYOB インスタンスのURL。
    クラウドインスタンスInstanceCloud に設定。
    AuthSchemeOAuth に設定。
    InitiateOAuthGETANDREFRESH
    User:会社のファイルに紐づいているユーザー名。
    Password:(パスワードが設定されている場合)会社ファイルの認可されたユーザーのパスワードに設定。

    OAuth で認証する場合は、さらにヘルプドキュメントを参照してください。

    データソースの接続設定(NetSuite の例)。
  4. [接続のテスト]をクリックして、正しく接続できているかをテストします。
  5. [変更を保存]をクリックします。

MYOB AccountRight インスタンス毎のクエリの設定

Data Sync はレプリケーションをコントロールするSQL クエリを簡単なGUI 操作で設定できます。 レプリケーションジョブ設定には、[ジョブ]タブに進み、[ジョブを追加]ボタンをクリックします。 次にデータソースおよび同期先をそれぞれドロップダウンから選択します。 レプリケーションジョブのソースおよび同期先を選択。

テーブル全体をレプリケーションする

テーブル全体をレプリケーションするには、[テーブル]セクションで[テーブルを追加]をクリックします。表示されたテーブルリストからレプリケーションするテーブルをチェックします。

テーブル全体をレプリケーション(NetSuite の例)。

テーブルをカスタマイズしてレプリケーションする

レプリケーションはテーブル全体ではなく、カスタマイズが可能です。[変更]機能を使えば、レプリケーションするカラムの指定、同期先でのカラム名を変更しての保存、ソースデータの各種加工が可能です。レプリケーションのカスタマイズには、ジョブの[変更]ボタンをクリックしてカスタマイズウィンドウを開いて操作を行います:

  • チェックボックスでフィールドを追加もしくは削除 Choose which fields to replicate.
  • カラムリストの下に新しく計算されたフィールドを追加する Add a computed field.
  • フィルタセクションを利用してフィルタを追加する Add a replication filter.

インターフェースを使って変更を行うと、レプリケーションのSQL クエリは以下のようなシンプルなものから:

REPLICATE [Accounts]

次のような複雑なものになります:

REPLICATE [Accounts] SELECT [Id], [Name] FROM [Accounts] WHERE [Type] = Bank

レプリケーションのスケジュール起動設定

[スケジュール]セクションでは、レプリケーションジョブの自動起動スケジュール設定が可能です。反復同期間隔は、15分おきから毎月1回までの間で設定が可能です。

スケジュール起動設定。

レプリケーションジョブを設定したら、[変更を保存]ボタンを押して保存します。複数のMYOB AccountRight のデータ のジョブを作成して、Salesforce の外部オブジェクトとして利用可能です。

外部オブジェクトとしてMYOB AccountRight データ レプリケーションにアクセス

MYOB AccountRight のデータ がHeroku 上のPostgreSQL データベースとしてレプリケーションされたので、Heroku のOData インターフェースを設定し、Salesforce Connect から外部オブジェクトとしてデータ連携できるようにします。

Heroku のOData Service を設定します

まずは、Heroku 上のPostgreSQL データベースに複製されたMYOB AccountRight のデータ への接続のために、データベースに対しHeroku External Object を設定します。

  1. Heroku ダッシュボードで、[Connect Add-on] をクリックします。
  2. [External Objects]を指定します。はじめてHeroku External Object を使用する場合には、OData Server のログインクレデンシャルを作成するようにナビゲートされます。
  3. OData service URL およびクレデンシャルを確認します。このクレデンシャルをSalesforce Connect 接続時に利用します。
  4. [Data Sources]において、前のプロセスで作成したレプリケーション済みデータベースを設定します。
Heroku Connect でのOData サービスの設定。

詳しくは、こちらのHeroku documentation を参照してください。

Salesforce の外部データソースの設定

Heroku のOData サービスの設定が終わったら、Salesforce Connect を使って、複製されたMYOB AccountRight のデータ のデータに外部データソースとして連携します。

  1. Salesforce で設定をクリックします。
  2. Administration (管理)セクションで、[データ]→[外部データソース]をクリック。
  3. データソースパラメータプロパティを設定します:
    • External Data Source: Salesforce UI に表示される名前
    • Name: API の一位の識別子
    • Type: Salesforce Connect: OData 4.0
    • URL: Heroku Connect のOData エンドポイント
    • Format: JSON
  4. 認証の設定:
    • Identity Type: Named Principal
    • Authentication Protocol: Password Authentication
    • Username: Heroku Connect username
    • Password: Heroku Connect password
  5. [保存]をクリック。
Salesforce 外部オブジェクトの設定。

MYOB AccountRight オブジェクトの同期

Salesforce の外部データソース登録が終わったら、次の方法でMYOB AccountRight 外部データソースに変更を反映させます。MYOB AccountRight テーブルの定義とMYOB AccountRight 外部オブジェクトの定義を同期します。

  1. 作成した外部データソースのリンクをクリック。
  2. [Validate and Sync]をクリック
  3. MYOB AccountRight テーブルを選択して、[同期]をクリックします。
外部データソースの同期。

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

これで、レプリケーションされたMYOB AccountRight エンティティに対して、Salesforce の通常オブジェクトと同じように外部オブジェクトとしてアクセスが可能になりました。

是非、CData Sync の30日の無償評価版 をダウンロードして、Salesforce との連携をお試しください!

関連コンテンツ

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

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