あらゆるRESTful API への連携を実現するCData API Driver



RESTful APIs は、外部データや社内データに直観的で安定したアクセスを実現します。2019年6月までにパブリックAPI の数は22,000 を超え、さらにその数は増加を続けています。増加し続けるAPI に対しCData api Driver は、シンプルかつ拡張性の高い標準アクセスを実現します。

API Driver をなぜ使うの?

CData API Driver は、CData Drivers と同様に、データ連携を標準化することで簡単にすることを目指して作られた製品です。API Driver と公開されているAPI Profile を使うことで、多くのAPI とBI、データ連携ツール、カスタムアプリケーションをノーコードで連携させることができます。エンタープライズおよび開発者は、API Profile をカスタマイズしたり、新しいAPI Profile を作成することが可能であり、あらゆるRESTful API (CData API Server で作成したAPI を含みます) への連携をおどろくほど簡単にできます。

この記事では、API Driver でStackExchange API に対してAPI Profile を使って接続する方法を説明します。

API Driver の設定

API Driver は、普通のデータベースドライバーと同じように、コネクションプロパティを使ってデータへの接続を行います。API Driver では、二つの重要なコネクションプロパティがあります:

  • Profile: 拡張子が.apip となっているファイルで接続するデータソース向けののもの
  • ProfileSettings: 選択したProfile で必要なname-value ペアでセミコロン区切りのもの

接続の確立は、使用するテクノロジー(JDBC、ODBC、ADO など)によって異なります。StackExchange Profile を使ったコネクションのサンプルは以下です:

JDBC 接続文字列

jdbc:apis:Profile=/PATH/TO/StackExchange.apip;ProfileSettings='Site=dba;APIKey=abcdafeoefiwojfweoewf';

ADO.NET 接続文字列

Profile=/PATH/TO/StackExchange.apip;ProfileSettings='Site=dba;APIKey=abcdafeoefiwojfweoewf';

ODBC DSN 設定

API への接続が設定できたら、SQL クエリでAPI を操作することが可能になります。

SQL クエリでAPI を操作

CData API Driver は、API へのSQL アクセスを実現します。本記事では、JDBC API Driver をDbVisualizer というDB 管理ツールから使ってみます。他のテクノロジーからのSQL クエリの方法は下に記載しています。

接続

API Profile で指定されるの接続文字列を使って接続を行います。

メタデータを見る

特筆すべき点として、ライブ接続を維持しなくてもAPI Profile のメタデータを見ることができることです。利用可能なテーブル(Read/write が可能なAPI エンドポイント)、ビュー(Read-only なAPI エンドポイント)、およびストアドプロシージャ(テーブル・ビューに収まらないAPI 処理)は、クレデンシャルで認証をしなくても参照することができます。

DbVisualizer などのデータベース管理ツールで、テーブル/ビュー/ストアドプロシージャのリストを開くか、SQL クエリでメタデータをクエリすることでメタデータを確認できます。

DbVisualizer でメタデータを見る

クエリでメタデータを確認

Profile MetadataSQL Query
TablesSELECT * FROM SYS_TABLES
ViewsSELECT * FROM SYS_VIEWS
Stored ProceduresSELECT * FROM SYS_PROCEDURES

API をSQL でクエリ

接続を確立したら、API をSQL で読み書き双方の操作できます(基となるAPI が許容する前提で)。

データの読み出しは、ドライバーでモデル化されたテーブル/ビューをSELECT するだけで可能です。例えば、2019年12月2日に"python" タグで作成された質問で未回答のものを抽出するには:

SELECT 
  AnswerCount, 
  CreationDate, 
  Title, 
  Tags, 
  ViewCount 
FROM 
  Questions 
WHERE 
  CreationDate > '12/2/2019 23:59:59' AND 
  AnswerCount < 1 AND 
  Tags LIKE '%python%';

DbVisualizer でのこのクエリへのレスポンスは以下

API Driver は標準データベース接続をサポートするあらゆるツールやアプリケーションで使用可能です。使い慣れたBI、レポーティング、ETL、やカスタムからAPI にシームレスな連携を行ってください。

詳細情報および無償評価版

これでAPI Driver を使ってAPI にアクセスする方法がわかりましたね。製品詳細はAPI Driver 製品ページ を参照するか、API Profile の編集や新規開発のKB 記事(API Driver Profiles を編集する and API Driver Profile を作る)を見てください。API Driver は30日の無償版を利用可能です。是非、お試しください。