Visual Studio Code を使用して SQL Server ビッグ データ クラスターにアプリケーションを展開する方法

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

この記事では、SQL Server ビッグ データ クラスターにアプリケーションを展開する方法について説明します。 Microsoft Visual Studio Code と App Deploy 拡張機能を使用します。

重要

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

前提条件

機能

App Deploy 拡張機能により、Visual Studio Code での次のタスクがサポートされます。

  • SQL Server ビッグ データ クラスターを使用して認証する。
  • サポートされているランタイムの展開用に、GitHub リポジトリからアプリケーション テンプレートを取得する。
  • ユーザーのワークスペースで現在開かれているアプリケーション テンプレートを管理する。
  • YAML 形式の仕様を使用してアプリケーションを展開する。
  • 展開したアプリを SQL Server ビッグ データ クラスター内で管理する。
  • 展開したすべてのアプリと追加情報をサイド バーに表示する。
  • 実行仕様を生成してアプリを使用するか、クラスターからアプリを削除する。
  • 展開したアプリを YAML の実行仕様を通じて使用する。

以降のセクションでは、App Deploy のインストールについて説明します。 また、機能の概要も示します。

Visual Studio Code に App Deploy 拡張機能をインストールする方法

Visual Studio Code で、App Deploy 拡張機能をインストールします。

  1. Visual Studio Code の一部として App Deploy をインストールするには、GitHub から拡張機能をダウンロードします。

  2. Visual Studio Code を起動し、[拡張機能] サイド バーに移動します。

  3. サイド バーの上部にある [] コンテキスト メニューをクリックし、[Install from vsix](vsix からのインストール) を選択します。

    VSIX のインストール

  4. ダウンロードした sqlservbdc-app-deploy.vsix ファイルを検索し、それを選択してインストールします。

App Deploy が正常にインストールされると、Visual Studio Code を再読み込みするように求められます。 Visual Studio Code サイド バーに SQL Server BDC アプリ エクスプローラーが表示されます。

アプリ エクスプローラーを読み込む

サイド バーの拡張機能のアイコンを選択します。 サイド パネルが読み込まれ、アプリ エクスプローラーが表示されます。

アプリやアプリの仕様がないアプリ エクスプローラーを示すスクリーンショット。

クラスター エンドポイントに接続する

クラスター エンドポイントに接続するには、次のいずれかの方法を使用できます。

  • 下部にある、[SQL Server BDC Disconnected](SQL Server BDC が切断されました) と示されているステータス バーをクリックします。
  • または、上部にある、出口をさす矢印の付いた Connect to Cluster [新しい接続] ボタンをクリックします。

Visual Studio Code で、適切なエンドポイント、ユーザー名、パスワードの入力を求められます。

エンドポイント Cluster Management Service にポート 30080 で接続します。

このエンドポイントは、コマンド ラインで次のコマンドを使用して見つけることもできます。

azdata bdc endpoint list

この情報を取得するもう 1 つの方法は、Azure Data Studio でサーバーに移動し、[管理] を右クリックすることです。 サービスのエンドポイントが一覧表示されます。

ADS エンドポイント

使用するエンドポイントを見つけて、クラスターに接続します。

新しい接続

接続が成功すると、クラスターに接続されたことが Visual Studio Code から通知されます。 展開されたアプリがサイド バーに表示され、エンドポイントとユーザー名がユーザー プロファイルの一部として ./sqldbc に保存されます。 パスワードやトークンが保存されることはありません。 これ以降のログインでは、保存されたホストとユーザー名がプロンプトに事前に入力されますが、パスワードは常に入力する必要があります。 別のクラスター エンドポイントに接続する場合は、[New Connection] (新しい接続) を選択します。 Visual Studio Code を終了したときと、別のワークスペースを開いたとき、接続は自動的に閉じられます。 その後は再接続する必要があります。

アプリ テンプレートを作成する

Visual Studio Code で、アプリ成果物を保存する場所でワークスペースを開きます。

テンプレートから新しいアプリを展開するには、[App Specifications] (アプリの仕様) ペインの [新しいアプリ テンプレート] ボタンを選択します。 名前、ランタイム、新しいアプリの保存先とするローカル コンピューターの場所を確認するプロンプトが表示されます。 指定する名前とバージョンは、DNS-1035 ラベルとする必要があり、小文字の英数字または '-' で構成されている必要があります。 また、アルファベット文字で始まり、英数字で終わる必要もあります。

現在の Visual Studio Code ワークスペースに拡張機能を配置することをお勧めします。 これにより、拡張機能の完全な機能が提供されます。

新しいアプリ テンプレート

完了すると、指定した場所に新しいアプリケーション テンプレートがスキャフォールディングされ、ワークスペースに spec.yaml の展開が開きます。 選択したディレクトリがワークスペース内にある場合は、それが [App Specifications] (アプリの仕様) ペインに表示されます。

読み込まれたアプリ テンプレート

このテンプレートは、[App Specifications] (アプリの仕様) ペインで次のようにレイアウトされるシンプルな helloworld アプリです。

  • spec. yaml
    • アプリの展開方法をクラスターに指示します
  • run-spec.yaml
    • アプリの呼び出し方法をクラスターに指示します

アプリのソース コードはワークスペース フォルダーにあります。

  • ソース ファイル名
    • これは、spec.yamlsrc に指定されているソース コード ファイルです。
    • spec.yaml に示されているように、アプリの entrypoint と見なされる handler という 1 つの関数があります。 msg という文字列の入力を受け取り、out という文字列の出力を返します。 これらは spec.yamlinputsoutputs で指定されます。

アプリを展開するために、スキャフォールディングされたテンプレートではなく spec.yaml を使用するには、[New App Template] (新しいアプリ テンプレート) ボタンの横にある [New Deploy Spec] (新しい展開仕様) ボタンを選択します。 ここで、同じプロセスを繰り返します。 spec.yaml のみを受け取ります。これは自由に変更できます。

アプリのデプロイ

アプリは、spec.yaml 内の Deploy App の CodeLens によってすぐに展開することも、[App specifications] (アプリの仕様) メニューで spec.yaml ファイルの横にある稲妻フォルダーのボタンを選択することもできます。 拡張機能により、spec.yaml を配置したディレクトリ内のすべてのファイルが zip 圧縮されます。 その後、アプリがクラスターに展開されます。

注意

spec.yaml は、アプリのソース コード ディレクトリのルート レベルにある必要があります。 また、すべてのアプリ ファイルが確実に spec.yaml と同じディレクトリにあるようにします。

アプリの展開のボタン

アプリの展開の CodeLens

使用する準備ができると、サイド バーのアプリの状態によって通知されます。

アプリ展開済み

アプリ準備完了のサイド バー

アプリ準備完了通知

サイド ペインでは、次のことを確認できます。

次のリンクを使用して、展開したすべてのアプリを表示できます。

  • state
  • version
  • 入力パラメーター
  • 出力パラメーター
  • リンク
    • Swagger
    • 詳細

links をクリックすると、展開されたアプリの swagger.json にアクセスできることがわかります。 これにより、アプリを呼び出すクライアントを作成できます。

swagger.json ファイルを表示している Visual Studio Code UI を示すスクリーンショット。

詳細については、ビッグ データ クラスターでのアプリケーションの使用に関するページを参照してください。

アプリを実行する

アプリの準備ができたら、run-spec.yaml で呼び出します。 このファイルは、アプリ テンプレートの一部として提供されます。

実行仕様

hello を置き換える文字列を指定します。 次に、CodeLens のリンクまたはサイド バーの稲妻ボタンを使用して、アプリをもう一度実行します。 run-spec オプションが表示されない場合は、クラスターに展開したアプリから生成します。

実行仕様の取得

実行仕様を編集し終わったら、実行します。 アプリの実行が完了すると、Visual Studio Code によってフィードバックが返されます。

アプリの出力

前のスクリーンショットでは、ワークスペースの一時 .json ファイルに出力が表示されます。 この出力を保持する場合は、保存できます。 それ以外の場合は、閉じると削除されます。 ファイルに書き込む出力がアプリにない場合、[Successful App Run] (アプリの正常な実行) の状態通知のみが表示されます。 正常に実行されなかった場合は、問題を特定するのに役立つエラー メッセージが表示されます。

アプリを実行するときは、さまざまな方法でパラメーターを渡すことができます。

.json を使用して、要求されるすべての入力を指定できます。これは次のとおりです。

  • inputs: ./example.json

展開されたアプリが呼び出され、入力パラメーターがプリミティブでない場合は、パラメーターの種類をインラインで指定します。 そのため、配列、ベクトル、データフレーム、複雑な JSON などについては、次のようになります。

  • ベクター
    • inputs:
      • x: [1, 2, 3]
  • Matrix
    • inputs:
      • x: [[A,B,C],[1,2,3]]
  • Object
    • inputs:
      • x: {A: 1, B: 2, C: 3}

または、.txt.json、または .csv ファイルにアプリで必要とする形式で文字列を渡します。 この場合、ファイルの解析は、Node.js Path library に基づきます。ここでは、ファイル パスは string that contains a / or \ character として定義されています。

必須の入力パラメーターが指定されていない場合は、エラー メッセージが表示されます。 文字列ファイル パスが指定された場合、またはパラメーターが無効であることを示している場合は、誤ったファイル パスが提供されます。 アプリ作成者は、自分が定義するパラメーターを確実に理解する必要があります。

アプリを削除するには、[Deployed Apps] (展開済みアプリ) サイド ペインでアプリに移動し、ごみ箱アイコンを選択します。

次のステップ

SQL Server ビッグ データ クラスターに展開されているアプリを独自のアプリケーションに統合する方法の詳細については、ビッグ データ クラスター上でのアプリケーションの使用に関するページを参照してください。 「アプリ展開のサンプル」にある追加のサンプルを参照して、拡張機能を試してみることもできます。

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

私たちの目標は、この拡張機能をお客様にとって有益なものにすることです。フィードバックをお待ちしております。 SQL Server チームまでお送りください。