CData API Server v26.1:インストールからデータ接続、REST API の公開、Postman でのテストまで



CData API Server は、あらゆるデータベースを標準準拠の OData REST API に変換できるノーコードプラットフォームです。データソースを指定して公開したいテーブルを選ぶだけで、アプリケーションや BI ツール、ローコードプラットフォームから利用できるセキュアな REST エンドポイントが手に入ります。コードを書く必要は一切ありません。

v26.1 は Java ランタイム(Eclipse Jetty)上で動作し、Windows では .exe、Linux / macOS では .tar.gz としてインストールします。コネクタは管理 UI から必要に応じて読み込む仕組みなので、必要なドライバーだけを追加でき、インストールサイズもコンパクトに抑えられます。この記事では、インストールと SQL Server への接続から、REST エンドポイントの作成、Postman でのテストまで、セットアップの流れをひととおり解説します。


この記事で構築するもの

  • Windows 上で稼働する CData API Server インスタンス
  • SQL Server データベースへのリアルタイム接続
  • 1つ以上の SQL Server テーブルを公開する、セキュアな REST/OData エンドポイント
  • Postman で動作する GET、POST、PUT、DELETE リクエスト
  • ほかのツールにインポートできる OpenAPI(Swagger)定義

前提条件

  • Windows Server 2016 以降、または Windows 10/11
  • API Server のホストからアクセス可能な SQL Server インスタンスと、公開したいテーブルを読み取れるユーザー
  • API Server をインストールする Windows マシンの管理者権限
  • テスト用の Postman(または任意の REST クライアント)

Step 1:API Server をダウンロードしてインストールする

まずは CData API Server のページから API Server v26.1 のインストーラーをダウンロードしましょう。トライアルの場合は、メールアドレスを入力して 無料トライアルを開始 をクリックすると、ダウンロードリンクがメールで届きます。.exe を実行し、セットアップウィザードの案内に沿ってインストールを完了させてください。

CData API Server のセットアップウィザード

Step 2:ログインしてライセンスをアクティベートする

インストールが完了したら、ブラウザで http://localhost:8080/ を開きます。API Server のサインインページにリダイレクトされます。

  1. ユーザー名 フィールドに admin(デフォルトの管理者アカウント)を入力します
  2. パスワード フィールドに、インストール時に設定した管理者パスワードを入力します
  3. サインイン をクリックします
  4. サインインしたら、左側のナビゲーションで 設定 > ライセンス を選択し、ライセンスをアクティベートするか、トライアルを開始します。
  5. ライセンスのアクティベート

Step 3:コネクタをインストールして接続を作成する

API Server では、コネクタを管理 UI から必要に応じてインストールします。まず SQL Server コネクタをインストールし、続いてデータベースへの接続を設定していきましょう。

  1. 管理 UI の左側のナビゲーションで 接続 をクリックし、接続を追加 をクリックします
  2. コネクタの一覧から SQL Server を探し、行の右端にあるインストールアイコンをクリックします。「コネクタをインストール」ダイアログが開きます。
  3. Add Connection ボタンのある Connections タブ
  4. 自動インストール(推奨)を選択します。環境からコネクタリポジトリにアクセスできない場合は 手動インストール を選択してください。インストールが完了するまでしばらく待ちます
  5. インストール方法の選択
  6. SQL Server の行の右端に表示される 接続を設定 の矢印をクリックします
  7. 設定 タブで、以下の接続プロパティを入力します。
    • Server:SQL Server のホスト名または IP アドレス
    • Database:公開したいテーブルが含まれるデータベース
    • Auth Scheme:SQL 認証の場合は SqlServer、Windows 認証の場合は NTLM/Kerberos
    • User と Password:SQL Server の認証情報
  8. SQL Server の接続設定
  9. 保存およびテスト をクリックします。API Server が接続を検証して保存します

Step 4:テーブルを REST API として公開する

次に、公開するテーブルと、各リソースが返すカラムを選んでいきます。なお、GET、POST、PUT、DELETE といった HTTP メソッドの権限は、Step 5 でユーザーごとに設定します。

  1. 左側のナビゲーションで API をクリックします
  2. 一覧から、作成した SQL Server 接続を選択します
  3. SQL Server 接続の選択
  4. 公開したいテーブル(例:Customers、Orders)を選び、リソースとして追加します
  5. リソースごとに公開するカラムを選択します。機密性の高いカラムはチェックを外しておきましょう
  6. 公開リソースのカラム設定
  7. 変更を保存 をクリックします

Step 5:ユーザーを作成して認証トークンを取得する

API Server は、ユーザーごとに発行される認証トークンですべてのリクエストを認証します。API を呼び出すたびに、このトークンを x-cdata-authtoken ヘッダーで渡すか、HTTP Basic Auth のパスワードとして渡します。

  1. 左側のナビゲーションで ユーザー をクリックし、ユーザーを追加 をクリックします。ユーザーを編集ページが開き、設定 と 権限 の2つのタブが表示されます。
  2. 設定 タブで、以下の必須項目を入力します。
    • ロール:Admin(アプリケーション全体を管理可能)または Query(API 呼び出しのみ可能。ほとんどのアプリケーションユーザーにはこちらが適しています)を選択します
    • ユーザー名とパスワード:このユーザーが認証に使用する認証情報
    • 1時間あたりのリクエスト数:デフォルトは 1000 です。無制限にする場合は -1 を設定します
  3. Edit User の Settings タブ
  4. 権限 タブに切り替え、このユーザーに呼び出しを許可する HTTP メソッドにチェックを入れます:GET(読み取り)、POST(挿入)、PUT/MERGE/PATCH(更新)、DELETE(削除)
  5. HTTP メソッドのチェックボックスが表示された Permissions タブ
  6. 設定 タブに戻ります。右側の 認証トークン パネルで更新アイコンをクリックしてトークンを表示し、コピーします。これで、API 呼び出しのたびにこのトークンを使えるようになります
  7. ユーザー設定ページの認証トークンパネル
  8. 右上の 保存 をクリックします

メモ:読み取り専用のアプリケーションユーザーにする場合は、GET のみにチェックを入れてください。


Step 6:Postman で API をテストする

それでは、実際に API を呼び出してみましょう。管理 UI で API タブを開き、右上の エンドポイントを表示 をクリックすると、エンドポイントのベース URL を確認できます。リクエストはすべて、次のパターンに沿っています。

GET    http://localhost:8080/api.rsc/master_dbo_Customers
POST   http://localhost:8080/api.rsc/master_dbo_Customers
PUT    http://localhost:8080/api.rsc/master_dbo_Customers(Id)
DELETE http://localhost:8080/api.rsc/master_dbo_Customers(Id)
ベース URL の確認

4つのメソッドはいずれも、x-cdata-authtoken: <your token> ヘッダーを1つ指定するだけで利用できます。HTTP Basic Auth を使うこともでき、その場合は Authorization: Basic <base64(username:authtoken)> の形式で、パスワードにユーザーの認証トークンを指定します。

Postman で認証トークンヘッダーを追加

メモ:ユーザー名と認証トークンを username:authtoken の形式でつなげ、その文字列を Base64 エンコードしたうえで、先頭に Basic を付けます。たとえば [email protected]:ABC123...XYZ789 の場合、Authorization ヘッダーの値は Basic dXNlckBkb21haW4uY29tOkFCQzEyjc4OQ== のようになります。

GET:行を読み取る

メソッドを GET、URL を /api.rsc/master_dbo_Customers に設定し、x-cdata-authtoken ヘッダーを追加して Send をクリックします。API Server から OData 形式の JSON が返されます。結果の絞り込みや整形には、以下のクエリオプションを使えます。

  • $top=10:先頭の 10 行のみを返します
  • $filter=City eq 'New York':サーバー側でフィルタリングします
  • $select=Id,Name,City:指定したカラムのみを返します
  • $orderby=Name desc:結果セットを並べ替えます
OData JSON を返す Postman の GET リクエスト

POST:行を挿入する

メソッドを POST、URL を /api.rsc/master_dbo_Customers に設定し、Content-Type に application/json を指定して、新しいレコードを JSON ボディで渡します。レスポンスには、サーバー側で生成されたキーを含む作成済みの行が返されます。

新しい行を挿入する POST リクエスト

PUT:行を更新する

メソッドを PUT、URL を /api.rsc/master_dbo_Customers(1) に設定します。ここでの 1 は主キーです。変更したいフィールドだけを JSON ボディで渡します。

主キーを指定して行を更新する PUT リクエスト

DELETE:行を削除する

メソッドを DELETE、URL を /api.rsc/master_dbo_Customers(1) に設定します。ボディは不要です。204 No Content が返されれば、削除は成功です。

204 No Content を返す DELETE リクエスト

Step 7:ディスカバリーエンドポイントを確認する

API Server は、API の仕様を機械可読な形式で記述した定義を、次の2つのディスカバリーエンドポイントで公開しています。

http://localhost:8080/api.rsc/$metadata    (OData CSDL metadata - XML)
http://localhost:8080/api.rsc/$swagger     (OpenAPI / Swagger definition - JSON)

どちらも、パスの末尾にリソース名を付け加えることで、特定のリソースだけに絞り込めます。ご利用の環境での正確な URL は、左側のナビゲーションで API をクリックし、エンドポイントを表示 をクリックすると確認できます。表示されるモーダルに、OData エンドポイントURL と OpenAPI エンドポイントURL が並んで表示されます。

メモ:以前のバージョンの API Server(v25.1 など)では、OpenAPI 定義は /api.rsc/$oas で公開されていましたが、v26.1 では /api.rsc/$swagger を使用します。確実を期すため、URL は必ず 「エンドポイントを表示」モーダルからコピーしてください。

Postman や Salesforce External Services、Power Platform、AppSheet のほか、多くのコードジェネレーターがこの定義を読み込んで、すぐに使えるクライアントを生成できます。


Step 8:OpenAPI 定義を Postman にインポートする

  1. Postman で新しいリクエストタブを開きます。メソッドを GET に設定し、Step 7 で確認した OpenAPI エンドポイントURL を貼り付けます
  2. Headers タブで、認証トークンを値とする x-cdata-authtoken ヘッダーを追加し、Send をクリックします。200 OK のレスポンスとともに OpenAPI の JSON が返されます
  3. Postman での OpenAPI JSON レスポンス
  4. レスポンスパネルで三点リーダー(...)をクリックし、Save response to file を選択して openapi.json という名前で保存します
  5. openapi.json ファイルの保存
  6. Postman の左サイドバーで Import をクリックし、openapi.json をドラッグ&ドロップします。プレビューが表示されたら Import をクリックします
  7. OpenAPI 定義のプレビューが表示された Postman のインポートダイアログ

定義はコレクションとしてインポートされ、すべてのエンドポイント、メソッド、リクエストボディがあらかじめ設定された状態になります。コレクションレベルの Authorization で x-cdata-authtoken ヘッダーを設定しておけば、すべてのリクエストにその設定が引き継がれます。


次のステップ

  • 本番環境で運用する前に、適切な証明書を使用して API Server を HTTPS 化しましょう
  • localhost から実際の DNS 名に切り替え、本番運用に適したポートにバインドしましょう
  • ほかのコネクタも追加してみましょう。API Server は SQL Server 以外にも数百種類のデータソースに対応しています
  • OpenAPI 定義を使って、API を Salesforce の外部データソース(リンク先の手順では NetSuite を例にしていますが、API Server のどのデータソースでも同じ手順で設定できます)、Power Platform のカスタムコネクタ、AppSheet のデータソースとして登録できます
  • SSO、キャッシュ、トンネリングといった高度なトピックについては、API Server のドキュメントをご覧ください

CData API Server を試してみよう

API Server v26.1 を使えば、CData が対応する数百種類のデータソースを、コードを書かずにわずか数分でセキュアな REST/OData API として公開できます。ぜひ 30 日間の無料トライアルをお試しください。ご不明な点があれば、サポートチームまでお気軽にお問い合わせください。