本記事では CData サポート担当からこんなことを聞かれたらどこを確認すべきか?という観点で、よく頂くお問合せ内容をご紹介します。
記事はこちら →CData Connect Server を使えば、Trello データに対し、ETL 処理やキャッシュ処理なしでもMySQL クライアントからデータ連携ができるようになります。次のステップで、Trello の仮想MySQL データベースを作成して、mysqli toPDO_MySQL の標準MYSQL インターフェースでリアルタイムTrello に接続します。
CData Connect Server は、Trello データのインターフェースを仮想MySQL として提供し、PHP からRDB のようにデータをSQL でクエリすることができます。CData Connect Server がNode.js から発行されるSQL クエリ(フィルタリングやJOIN も可能)をパースしてTrello に送り、PHP アプリ にTrello からのデータを返します。インテリジェントなサーバーサイドプロセスで、多様なクエリをパフォーマンス良く利用できます。
CData Connect Server は、直観的なPoint-and-click インターフェースでデータソースへの接続およびAPI エンドポイント作成を行います。
Trello は、トークンベース認証を使用して、サードパーティアプリケーションにAPI へのアクセスを許可します。ユーザーがアプリケーションにデータへのアクセスを許可すると、アプリケーションにはTrello のAPI へのリクエストに使用できるトークンが付与されます。 Trello のAPI には2通りの方法でアクセスできます。1つ目はTrello 独自の認可ルートで、2つ目はOAuth1.0 を使用する方法です。
これで、Trello の仮想データベースが作成でき、MySQL クライアントからの連携が可能になりました。
次のサンプルのように、Object-Oriented インターフェースを使い、接続とクエリ実行を行います。 仮想MySQL に以下の接続パラメータで接続します:
<?php $mysqli = mysqli_init(); $mysqli->ssl_set("C:/certs/cloudclient.key", "C:/certs/cloudclient.pem", "C:/certs/myCA.pem", NULL,NULL); $mysqli->real_connect("mysintance.cdatacloud.net", "admin", "mypassword", "trellodb",3306,NULL,MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT); ?>
<?php $pdo = new PDO('mysql:host=CONNECT_SERVER_URL;dbname=trellodb;port=3306;','admin', 'mypassword', array( PDO::MYSQL_ATTR_SSL_KEY => 'C:/certs/cloudclient.key', PDO::MYSQL_ATTR_SSL_CERT => 'C:/certs/cloudclient.pem', PDO::MYSQL_ATTR_SSL_CA => 'C:/certs/myCA.pem', PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false ) ); ?>
作成された接続でテーブルへのアクセスを実行します。以下がサンプルです:
$result = $mysqli->query("SELECT BoardId, Name FROM Boards WHERE Name = 'Public Board'"); while($row = $result->fetch_assoc()) { foreach ($row as $k=>$v) { echo "$k : $v"; echo "<br />"; } } $mysqli->close();
$result = $pdo->query("SELECT BoardId, Name FROM Boards WHERE Name = 'Public Board'"); while($row = $result->fetch(PDO::FETCH_ASSOC)) { foreach ($row as $k=>$v) { echo "$k : $v"; echo "<br />"; } } $result = null; $pdo = null;