Azure SQL DatabaseをCData API ServerでWeb API(OData)アクセスできるように構成してみる その2 Azure SQL接続編
前回に続いて、今回は対象のデータベースであるAzure SQL Databaseの構成と、API Server設定手順をお伝えしていきます。
Azure SQL Databaseの構成
まず、Azure SQL Databaseを構成しましょう。
Azure SQLを構成するのに、特に特別な設定はいりません。
ただ、せっかくなので、サンプル入りを選んでおきます。
構成完了後、サーバー名を確認しておきましょう。
これだけです。ローカルからアクセスしたい場合は、サーバーファイアウォールの設定で、アクセス元IPアドレスを入れておくのだけ忘れないでください。
もし、ローカルのAPI ServerからAzure SQLに接続したい場合は、この設定が必要となります。
API Serverへ接続設定を行う
API Serverの基本的な設定方法は3ステップです。
【1.接続情報の作成】
SQL ServerやMySQL、各種SaaSサービスなどに接続するための接続文字列やユーザーID・PWを設定します。
【2.リソースの作成】
[1.]の接続先情報からWeb API化する対象テーブルの選択と、操作内容の設定します。
【3.ユーザーの作成】
作成したリソースへWeb API経由でアクセスするためのユーザー情報を作成します。
まず、接続情報の作成から。
API Serverの管理画面にログインし[設定]→[接続]→「+Add Connection」を選択します。
この画面から、対象のデータベース・サービスを選択することができます。
今回はAzure SQL、つまるところ、SQL Serverなので、[SQL Server]をクリックします。
[Name]に任意の識別用名称を入力し、先程構成したAzure SQLのServerURL、対象のDatabase名、SQL ServerアカウントのUserID・PWを入力します。
次に、データベースの中からWeb API化したい、対象のテーブルを選択していきます。
[リソース]→「リソースを追加」をクリックします。
先程作成した接続情報を選択し
対象のテーブルを選択します。
今回はサンプルで作成されているCustomerを選択してみました。
API Serverでは、Web APIとして公開する対象のテーブルにおいて、許可する操作方法(GET/POST/PUT/DELETE)と公開するカラムを選択することができます。
リソース名は後述するWeb APIのエンドポイント名になります。
今回はそのまま保存してしまいましょう。
以下のようにリソースが作成されればOKです。
最後にユーザーの登録です。
[ユーザー]→[+追加]をクリックし
任意のユーザー名と許可する操作を設定し、保存します。
保存後、Authトークンが自動的に生成されますので、これを利用してWeb APIにアクセスできるようになります。
以上で、設定完了です。
これでもうWeb APIとして利用できるようになります。
Web APIの利用
では、実際にWeb APIを利用してみましょう。
API Serverはリソースを作成した時点で、同時にAPI のドキュメントを生成します。
[API]をクリックすると、先程作成したリソースがドキュメントとして登録されていることがわかるかと思います。
あとは、そのURLを使って、POSTMANでGetリクエスト等を構成
アクセスする際には、Basic 認証で登録したユーザーID・PWを付与してあげればOKです。
以下のようにAzure SQLに構成されたサンプルデータが取得できました。
もちろん、Getだけでなく、レコードの作成・更新・削除もそれぞれのメソッドで実行することができます。
また、OData形式なので、各種URLクエリ、SelectやFilterにも対応しています。
まとめ
これ以外にもAPI Serverには細かな設定やカスタマイズが可能になっています。
例えば、ストアドプロシージャを公開してビジネスロジックを扱わせたり、リソースアクセスの細かな設定も可能です。
OpenAPI(Swagger)の定義もそのまま生成されているので、他のアプリケーションとの組み合わせも色々と試してもらうことができます。
連携あたりは、後日このブログでも色々と書いていこうかなと思います。