各製品の資料を入手。
詳細はこちら →CData ODBC Driver を使ってAsprovaをPingOne と連携
CData ODBC Driver を使って、AsprovaとPingOne とのデータ連携を実現します。
最終更新日:2022-02-13
こんにちは!プロダクトスペシャリストの浦邉です。
生産スケジューラ「Asprova」はODBC によるデータベース接続をサポートしているため、これを通してPingOneとのデータ連携を行うことが可能です。 通常、PingOneなどのSaaS として提供されるアプリケーションにはWeb API でアクセスしますが、CData PingOne ODBC Driver によって、RDB にアクセスするのと同じ感覚で、PingOne のデータを扱うことができます。 本記事ではPingOneからAsprovaへの「品目」データ取り込みの例を通してデータ連携手順を示します。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持った製品です。
- PingOne をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレデータソースに対応
- 多様なアプリケーション、ツールにPingOne のデータを連携
- ノーコードでの手軽な接続設定
- 標準SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてPingOne の接続を設定、2.Asprova 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとPingOne への接続設定
まずは、本記事右側のサイドバーからPingOne ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
インストールが完了したら、DSN 設定画面が開くので、必要な接続プロパティを入力してPingOne への接続を行います。
PingOne に接続するには以下のプロパティを設定します。
- Region:自身のPingOne 組織のデータがホスティングされている地域。
- AuthScheme:PingOne に接続する際に使用する認証の種類。
- WorkerAppEnvironmentId (デフォルトのPingOne ドメインを使用する場合に必要)、またはAuthorizationServerURL のいずれかで、下で説明するように設定します。
WorkerAppEnvironmentId の設定
WorkerAppEnvironmentId は、Worker アプリケーションが存在するPingOne 環境のID です。 このパラメータは、環境がデフォルトのPingOne ドメイン(auth.pingone)を利用している場合のみ使用されます。 これは、ヘルプドキュメントのカスタムOAuth アプリケーションの作成で説明するように、PingOne への認証に使用するカスタムOAuth アプリケーションを作成した後に設定します。
はじめに、このプロパティの値を見つけます。
- 自身のPingOne 組織のホームページからナビゲーションサイドバーに移動し、Environments をクリックします。
- OAuth / Worker のカスタムアプリケーションを作成した環境(通常はAdministrators)を見つけ、Manage Environment をクリックします。 環境のホームページが表示されます。
- 環境のホームページのナビゲーションサイドバーで、Applications をクリックします。
- リストから、OAuth またはWorker アプリケーションの詳細を見つけます。
-
Environment ID フィールドの値をコピーします。
以下の例に似たものになるはずです:
WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'
次に、WorkerAppEnvironmentId をEnvironment ID フィールドの値に設定します。
AuthorizationServerURL の設定
AuthorizationServerURL は、お使いのアプリケーションが配置されている環境のPingOne 認可サーバーのベースURL です。 このプロパティは、PingOne プラットフォームAPI ドキュメントで説明されているように、環境にカスタムドメインを設定した場合にのみ使用されます。 Custom Domains を参照してください。
OAuth でのPingOne への認証
PingOne はOAuth とOAuthClient 認証の両方をサポートしています。 上述の設定手順に加え、OAuth またはOAuthCliet 認証をサポートするために、さらに2つの手順を完了する必要があります。
- ヘルプドキュメントのカスタムOAuth アプリケーションの作成で説明するように、カスタムOAuth アプリケーションを作成して設定します。
- ドライバーがデータモデル内のエンティティにアクセスできるようにするには、ヘルプドキュメントのAdministrator Roles での説明のとおり、使用するアドミンユーザー / ワーカーアプリケーションに対して正しいロールを設定していることを確認してください。
- 以下のサブセクションで説明されているように、選択した認証スキームと認証フローに適切なプロパティを設定します。
OAuth(認可コードグラント)
AuthScheme をOAuth に設定します。
デスクトップアプリケーション
OAuth アクセストークンの取得およびリフレッシュ
以下を設定して、接続してください。
- InitiateOAuth:GETANDREFRESH。繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要をなくすには、InitiateOAuth を使用します。
- OAuthClientId:カスタムOAuth アプリケーションを作成した際に取得したClient ID。
- OAuthClientSecret:カスタムOAuth アプリケーションを作成した際に取得したClient Secret。
- CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。例:https://localhost:3333
接続すると、本製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。
- ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
- OAuth 値はOAuthSettingsLocation で指定された場所に保存され、接続間で永続化されるようにします。
ドライバーはアクセストークンの期限が切れると自動的にリフレッシュします。
Web アプリケーションやヘッドレスマシン、クライアントクレデンシャルグラントを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。
Asprovaでの接続情報の設定
-
メニューの「ファイル」から「データ入出力」を選択し、「データ入出力」ダイアログを開きます。
-
「品目」行のヘッダをダブルクリックし、「データ入出力の編集」ダイアログを開きます。
-
「RDBトランザクション」を「いいえ」に変更し、「OK」を押下します。
データドライバの設定
-
「品目」の「データソースの種類」を「OLE DB」に変更します。
-
「接続文字列/フォルダ」列のボタンを押下し、「データ リンク プロパティ」ダイアログを開きます。 「プロバイダー」タブで「Microsoft OLE DB Provider for ODBC Drivers」を選択し「次へ」を押下します。
-
「接続」タブで「データソース名を使用する」が選択されていることを確認し、コンボボックスで「CData PingOne Source」を選択します。
-
「接続のテスト」を押下し「接続のテストに成功しました」というメッセージが表示されればドライバの設定に成功です。
スキーマの設定
-
「外部テーブル名」列のボタンを押下し、「テーブル一覧」ダイアログを開きます。 ここでPingOneのテーブル一覧が表示されることを確認してください。
-
出力先テーブル(Asprovaの品目)、入力元テーブルの項目の対応付けを行います。「フィールドマッピング」列のボタンを押下し、「品目-フィールドマッピング」画面を開きます。
-
画面の二つのテーブルの間で右クリックし、コンテキストメニューの「全削除」を選択します。すべてのマッピングが削除されたことを確認し、項目同士をドラッグアンドドロップでつなぎ上記のマッピングを設定します。
-
これでデータ取り込みの設定は終了です。メニューの「ファイル」から「インポート」をクリックします。画面下のメッセージでエラーが出なければインポートは完了です。
データの確認
メニューの「テーブル表示」から「品目」を選択します。下図のように、PingOneから取り込んだ商品データが表示されれば成功です。