Azure でのAPI Server ホスティング



CData API Server は、クラウドアプリケーション、モバイルデバイス、BI ツールからライブデータに安全に接続するためのツールを提供します。API Server は、110以上のリレーショナル、NoSQL、クラウド、オンプレミスデータソースに対応した OData フィードを生成する軽量な Web アプリケーションです。IIS や Azure など、Windows .NET サーバーでホストできます。

この記事では、API Server を Azure にデプロイする方法、CData コネクタを追加する方法、そして Azure SQL データベースに設定を永続化する方法を説明します。

Azure Web App としてAPI Server をデプロイ

  1. Azure 管理コンソールで、「リソースの作成」-> Web -> Web App をクリックして、新しい Web アプリリソースを作成します。次のメニューで、Web App の名前/URL を選択し、その他の Web App 設定を定義します(デフォルト設定で問題ありません)。
  2. Web アプリにファイルをコピーして、API Server をデプロイします。Azure ではファイルをアップロードする方法がいくつか用意されています。Web App で提供される FTPS ホストの使用をお勧めします。

    「デプロイ資格情報」で FTP ログイン用のパスワードを作成し、FTP クライアントアプリケーションから接続します。

    • ユーザー名:デプロイ / FTP ユーザーの値を使用します。
    • パスワード:デプロイ資格情報で定義したパスワードを使用します。まだパスワードを作成していない場合は、アプリの設定ブレードのアプリ開発セクションで「デプロイ資格情報」をクリックして作成できます。
    • ホスト:FTPS ホスト名の値を使用します。
  3. インストールディレクトリ(通常は C:\Program Files\CData\CData API Server\)の www フォルダーからファイルを、Web App の /site/wwwroot/ ディレクトリにコピーします。

CData ADO.NET プロバイダーで他のデータソースへの接続オプションを追加

Azure では、API Server に含まれていない CData データソースへの接続には追加の設定が必要です。CData ADO.NET プロバイダーを使用して、API Server から任意のデータソースに接続できるようにするには:

  1. 対象のデータソース用の CData ADO.NET プロバイダーをインストールします。このウォークスルーでは、NetSuite を例として使用します。
  2. Web App の FTP ログイン情報を使用して、.NET Framework 4.0 DLL(System.Data.CData.NetSuite.dll)をインストールディレクトリ(通常は C:\Program Files\CData\CData ADO.NET Provider for NetSuite\lib\4.0\)から、API Server のリモートディレクトリ /site/wwwroot/bin/ にコピーします。
  3. リモート Web App の Web.config ファイルを編集し、 <dbProviderFactory> セクション内に以下のような行を追加します:

    <add name="CData ADO.NET Provider for NetSuite 2024" invariant="System.Data.CData.NetSuite" description="CData ADO.NET Provider for NetSuite 2024" type="System.Data.CData.NetSuite.NetSuiteProviderFactory, System.Data.CData.NetSuite, Version=24.0.0.40, Culture=neutral, PublicKeyToken=f57f3fbecba6b076"/>

    実際のパラメータ値は、ADO.NET プロバイダーのヘルプドキュメントの「Using DbProviderFactory」セクションで確認できます。

  4. 変更を保存し、Azure Web App を再起動します。API Server に新しい接続オプションとして Netsuite コネクタが表示されます。

API Server からデータに接続

必要な接続プロパティの設定とテーブルへのアクセス許可については、API Server ヘルプの「Getting Started」の章を参照してください(API Server ページで DOCS をクリック)。

Azure SQL データベースに設定を永続化

スキーマ、ユーザー、設定、ログを Azure SQL データベースに永続化できます。Web.config の configuration ノードに、以下のような AppDb、AppUsers、AppLogs のエントリを追加します:

<configuration>
  <connectionStrings>
    <add name="AppDb" connectionString="Server=tcp:abcdef123.database.windows.net,1433;Database=mydb;User ID=MyUser@abcdef123;Password=MyPassword;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" providerName="System.Data.SQLClient" />
    <add name="AppUsers" connectionString="Server=tcp:abcdef123.database.windows.net,1433;Database=mydb;User ID=MyUser@abcdef123;Password=MyPassword;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" providerName="System.Data.SQLClient" />
    <add name="AppLogs" connectionString="Server=tcp:abcdef123.database.windows.net,1433;Database=mydb;User ID=MyUser@abcdef123;Password=MyPassword;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" providerName="System.Data.SQLClient" />
  </connectionStrings>

接続文字列は、データベースのダッシュボードで「接続文字列の表示」をクリックして取得できます。ADO.NET 接続文字列を使用してください。

トラブルシューティング

デプロイ中にエラーが発生した場合、ASP.NET のセキュリティポリシーにより詳細が表示されないことがあります。最初のトラブルシューティング手順として、Web.config に以下のプロパティを追加して再デプロイしてみてください:

<system.web>
  <customErrors mode="Off" />
  ...
</system.web>

これで、エラーメッセージを含む完全なスタックトレースにアクセスできます。

  • Server Error in '/' Application:このエラーを解決するには、Web.config の以下のプロパティをコメントアウトして再デプロイします:

    <compilation tempDirectory=''/>

始める準備はできましたか?

CData API Server の無料トライアルをダウンロード:

今すぐダウンロード