Node.js からau Wowma のデータをSQL Server データベースとしてクエリ
CData Connect AI を使用すると、SQL Server インターフェース経由でau Wowma のデータをクエリできます。以下のステップに従って、Connect AI にau Wowma の仮想データベースを作成し、Node.js を使用してクエリを実行します。
CData Connect AI は、au Wowma のピュアMySQL かつクラウドベースのインターフェースを提供し、ネイティブにサポートされているデータベースにデータを複製することなくNode.js からの手軽なリアルタイムau Wowma のデータクエリを実現します。Node.js でデータをクエリすると、CData Connect AI はサポートされているすべてのSQL 操作(フィルタ、JOIN など)を直接au Wowma にプッシュし、サーバー側の処理を活用してau Wowma のデータを高速で返します。
Connect AI からau Wowma に接続する
CData Connect AI は直感的なクリック操作ベースのインターフェースを使ってデータソースに接続します。- Connect AI にログインし、 Add Connection をクリックします。
- Add Connection パネルから「au Wowma」を選択します。
-
必要な認証情報を入力し、au Wowma に接続します。
au PAY マーケットに接続するには、ShopId およびApiKey が必要です。
au PAY マーケットへのアクセスの設定
ShopId およびApiKey を取得するには、以下の手順に従ってください。
- Wow! manager サイトにログインして、「各種お申し込み」メニューの「API利用申請」に移動します。
- API利用規約に同意します。
- 「APIキーの発行はこちら」をクリックします。
- 「発行」ボタンをクリックして、API キーを生成します。
- 「接続元IPアドレスを登録」に、対象とするIP アドレスを入力します。
- 「登録」ボタンをクリックして、設定を保存します。
au PAY マーケットアカウントの認証
次の接続プロパティを設定して接続します。
- ShopId:接続先のau PAY マーケットShop ID を設定。
- ApiKey:API キーを設定。au PAY マーケットストアアカウントから取得したAPI キーです。
- UseSandbox:Sandbox 環境に接続する場合はTrue を設定。
- Create & Test をクリックします。
- Edit au Wowma Connection ページのPermissions タブに移動し、ユーザーベースのアクセス許可を更新します。
パーソナルアクセストークンを追加する
OAuth 認証をサポートしないサービス、アプリケーション、プラットフォーム、フレームワークから接続する場合、パーソナルアクセストークン(PAT)を認証に使用できます。きめ細かくアクセスを管理するために、サービスごとに個別のPAT を作成するのがベストプラクティスです。
- User Profile ページでPersonal Access Token セクションにスクロールし、 Create PAT をクリックします。
- PAT の名前を入力して Create をクリックします。
- パーソナルアクセストークンは作成時にしか表示されないため、必ずコピーして安全に保存してください。
- server:tds.cdata.com
- port:14333
- user:Connect AI ユーザー(例:[email protected])
- password:上記のユーザーのPAT
- database:au Wowma 用に構成した接続(auPAYMarket1)
接続が設定されたら、Node.js からau Wowma のデータに接続できるようになります。
Node.js からau Wowma をクエリ
以下の例は、SQL Server モジュールを使用してau Wowma へのクエリを実行する方法を説明しています。以下の情報が必要です。
以下のコードで、au Wowma に接続してクエリが実行できます。
var sql = require('mssql')
var config = {
server: 'tds.cdata.com',
port:14333,
user: '[email protected]', //update me
password:'CONNECT_USER_PAT', //update me
options: {
encrypt: true,
database: 'auPAYMarket1'
}
}
sql.connect(config, err => {
if(err){
throw err ;
}
new sql.Request().query('SELECT * FROM Items', (err, result) => {
console.dir(result)
})
});
sql.on('error', err => {
console.log("SQL Error: " ,err);
})