RESTful Web サービスを使用して SQL Server ビッグ データ クラスターに展開されたアプリを使用する

適用対象: SQL Server 2019 (15.x)

この記事では、RESTful Web サービスを使用して SQL Server ビッグ データ クラスターに展開されたアプリを使用する方法について説明します。

重要

Microsoft SQL Server 2019 ビッグ データ クラスターのアドオンは廃止されます。 SQL Server 2019 ビッグ データ クラスターのサポートは、2025 年 2 月 28 日に終了します。 ソフトウェア アシュアランス付きの SQL Server 2019 を使用する既存の全ユーザーはプラットフォームで完全にサポートされ、ソフトウェアはその時点まで SQL Server の累積更新プログラムによって引き続きメンテナンスされます。 詳細については、お知らせのブログ記事と「Microsoft SQL Server プラットフォームのビッグ データ オプション」を参照してください。

前提条件

注意

アプリケーションの yaml 仕様ファイルでスケジュールが指定されている場合、アプリケーションは cron ジョブによってトリガーされます。 OpenShift にビッグ データ クラスターがデプロイされている場合、cron ジョブを起動するには追加の機能が必要です。 具体的な手順については、OpenShift のセキュリティに関する考慮事項に関する記事を参照してください。

機能

SQL Server 2019 ビッグ データ クラスターにアプリケーションを展開した後は、RESTful Web サービスを使用してそのアプリケーションにアクセスして使用することができます。 これにより、そのアプリを他のアプリケーションやサービス (モバイル アプリや Web サイトなど) と統合できるようになります。 次の表では、azdata と共に使用して、アプリの RESTful Web サービスに関する情報を取得できるアプリケーションの展開コマンドについて説明します。

command 説明
azdata app describe アプリケーションについて記述します。

次の例のように、--help パラメーターを使用してヘルプを取得できます。

azdata app describe --help

以下のセクションでは、アプリケーションのエンドポイントを取得する方法と、アプリケーション統合のために RESTful Web サービスを使用する方法について説明します。

エンドポイントを取得する

ビッグ データ クラスターには、RESTful Web サービスを使用してそのアプリケーションにアクセスして使用できるエンドポイントが用意されています。主な目的は、他の Web またはモバイル アプリケーションとのやり取りを容易にし、これらのマイクロサービス アーキテクチャをよりプロアクティブに利用することです。 azdata app describe コマンドでは、クラスター内のエンド ポイントを含め、アプリに関する詳細情報が提供されます。 通常、これは、アプリ開発者が swagger クライアントを使用してアプリを構築するときや、Web サービスを使用して RESTful 方式でアプリと対話するときに使用されます。

次の例のようなコマンドを実行して、アプリについて記述します。

azdata app describe --name add-app --version v1
{
  "input_param_defs": [
    {
      "name": "x",
      "type": "int"
    },
    {
      "name": "y",
      "type": "int"
    }
  ],
  "links": {
    "app": "https://10.1.1.3:30080/app/addpy/v1",
    "swagger": "https://10.1.1.3:30080/app/addpy/v1/swagger.json"
  },
  "name": "add-app",
  "output_param_defs": [
    {
      "name": "result",
      "type": "int"
    }
  ],
  "state": "Ready",
  "version": "v1"
}

出力の IP アドレス (この例では 10.1.1.3) とポート番号 (30080) に注意してください。

この情報を取得する他の方法の 1 つとして、Azure Data Studio でサーバー上の [管理] を右クリックする方法があります。ここで、一覧表示されているサービスのエンドポイントを確認できます。

ADS エンドポイント

JWT アクセス トークンを生成する

展開したアプリの RESTful Web サービスにアクセスするには、まず JWT アクセス トークンを生成する必要があります。 アクセス トークンの URL は、ビッグ データ クラスターのバージョンによって異なります。

Version URL
GDR1 https://[IP]:[PORT]/docs/swagger.json
CU1 以降 https://[IP]:[PORT]/api/v1/swagger.json

前の例の出力である CU4 リリース、コントローラーの IP アドレス (例では 10.1.1.3)、およびポート番号 (30080) から、URL は次のようになります。

   https://10.1.1.3 :30080/api/v1/swagger.json

バージョン情報については、リリース履歴に関するセクションを参照してください。

ブラウザーで、describe コマンドを実行して取得した IP アドレスとポートを使用して、適切な URL を開きます。 azdata login に使用したものと同じ資格情報でサインインします。

swagger.json の内容を Swagger エディターに貼り付けて、使用できるメソッドを確認します。

API Swagger

app が GET メソッドであり、token の取得に POST メソッドが使用されることに注目してください。 アプリの認証には JWT トークンが使用されるため、token メソッドへの POST 呼び出しを行うには、任意のツールを使用してトークンを取得する必要があります。 同じ例で、JWT トークンを取得するための URL は次のようになります。

   https://10.1.1.3 :30080/api/v1/token

この要求の出力により、JWT access_token を取得できます。この場合、アプリを実行するために URL を呼び出す必要があります。

RESTful Web サービスを使用してアプリを実行する

SQL Server ビッグ データ クラスターでアプリを使用する方法は複数ありますが、azdata app run command を使用することもできます。

ブラウザーで azdata app describe --name [appname] --version [version] を実行したときに返された swagger の URL を開くことができます。これは、https://[IP]:[PORT]/app/[appname]/[version]/swagger.json に似ています。

注意

azdata login に使用したものと同じ資格情報を使用してログインする必要があります。 同じ例では、コマンドは次のようになります。

   azdata app describe --name add-app --version v1

次のステップ

ビッグ データ クラスターでのアプリケーションの監視方法について確認します。 その他のサンプルにはついては、アプリの展開サンプルに関するページを参照してください。

SQL Server ビッグ データ クラスターの詳細については、「SQL Server 2019 ビッグ データ クラスターとは」を参照してください。