ODBC を介してNode.js からHalo Service Desk のデータをクエリ
Node.js はブラウザ上以外でJavaScript コードを使用できるJavaScript ランタイム環境です。CData ODBC Driver for API を使用すれば、Node.js アプリとスクリプトから、リアルタイムHalo Service Desk のデータにアクセスできます。この記事ではnode-odbc のインストールと、リアルタイムHalo Service Desk のデータへのアクセスが可能な、シンプルなNode.js アプリケーションを作成するために必要なツールについて説明します。
ビルトインの最適化されたデータ処理により、CData ODBC Driver は比類のないパフォーマンスで、Node.js のリアルタイムHalo Service Desk のデータとやりとりできます。Node.js からHalo Service Desk に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をHalo Service Desk に直接プッシュし、組み込まれたSQL エンジンを利用してサポートされていない操作(主にSQL 関数とJOIN 操作)をクライアント側で処理します。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- Halo Service Desk をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにHalo Service Desk のデータを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてHalo Service Desk の接続を設定、2.Node.js 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとHalo Service Desk への接続設定
まずは、本記事右側のサイドバーからAPI ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
必要な接続プロパティの値が未入力の場合には、データソース名(DSN)で入力します。組み込みのMicrosoft ODBC Data Source Administrator を使用し、DSN を構成できます。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定する方法は、ヘルプドキュメントの「はじめに」を参照してください。
まず、Profile 接続プロパティをディスク上の HaloServiceDesk プロファイルの場所に設定します(例:C:\profiles\HaloServiceDesk.apip)。次に、ProfileSettings 接続プロパティを HaloServiceDesk の接続文字列に設定します(以下を参照)。
HaloServiceDesk API プロファイル設定
HaloServiceDesk では API キー認証を使用します。API キーは、HaloServiceDesk の「Administration」>「Integrations」>「Halo API」で確認・作成できます。
接続するには、以下の接続プロパティを設定します。
- AuthScheme:APIKey に設定します。
- APIKey:HaloServiceDesk アカウントの API キーに設定します。
- Domain:HaloServiceDesk インスタンスのホスト名に設定します(例:yourcompany.haloservicedesk.com)。
node-odbc を構築する
CData ODBC Driver を介してHalo Service Desk に接続するには、必要なツールをインストールした後に、node-odbc を手動で構築する必要があります。
必要なツールをインストールする
以下のコマンドでは、node-odbc の構築に必要なツールをインストールします。(ツールをグローバルにインストールする-g パラメータに注意してください。)
npm i -g windows-build-tools npm i -g node-gyp
node-odbc を構築する
必要なツールをインストールしたらNode.js アプリケーションのディレクトリを作成し、Node.js スクリプトで使用するバイナリを構築するodbc をインストールします。
mkdir nodeodbc cd nodeodbc npm i -g node
Node.js からHalo Service Desk をクエリ
ODBC Driver がインストールされ、DSN が構成されて、node-odbc が構築されたら、Node.js アプリケーションからリアルタイムHalo Service Desk のデータをクエリすることができるようになります。以下のサンプルコードは、特定のDSN に接続してAssets テーブルをクエリします。
myscript.js
const odbc = require('odbc');
async function queryAPI() {
const connection = await odbc.connect(`DSN=CData API Source`);
const data = await connection.query('SELECT Id, InventoryNumber FROM Assets');
console.log(data);
}
queryAPI();
アプリケーションを作成したら、node を使用してスクリプトを実行します。
node myscript.js
おわりに
CData ODBC Driver for API の30日の無償評価版 をダウンロードすればNode.js でリアルタイムHalo Service Desk のデータを使用できます。ご不明な点があれば、サポートチームにお問い合わせください。