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 拡張機能をインストールします。
Visual Studio Code の一部として App Deploy をインストールするには、GitHub から拡張機能をダウンロードします。
Visual Studio Code を起動し、[拡張機能] サイド バーに移動します。
サイド バーの上部にある [
…
] コンテキスト メニューをクリックし、[Install from vsix
](vsix からのインストール) を選択します。ダウンロードした
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 でサーバーに移動し、[管理] を右クリックすることです。 サービスのエンドポイントが一覧表示されます。
使用するエンドポイントを見つけて、クラスターに接続します。
接続が成功すると、クラスターに接続されたことが 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.yaml
でsrc
に指定されているソース コード ファイルです。 spec.yaml
に示されているように、アプリのentrypoint
と見なされるhandler
という 1 つの関数があります。msg
という文字列の入力を受け取り、out
という文字列の出力を返します。 これらはspec.yaml
のinputs
とoutputs
で指定されます。
- これは、
アプリを展開するために、スキャフォールディングされたテンプレートではなく 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
と同じディレクトリにあるようにします。
使用する準備ができると、サイド バーのアプリの状態によって通知されます。
サイド ペインでは、次のことを確認できます。
次のリンクを使用して、展開したすべてのアプリを表示できます。
- state
- version
- 入力パラメーター
- 出力パラメーター
- リンク
- Swagger
- 詳細
links
をクリックすると、展開されたアプリの swagger.json
にアクセスできることがわかります。 これにより、アプリを呼び出すクライアントを作成できます。
詳細については、ビッグ データ クラスターでのアプリケーションの使用に関するページを参照してください。
アプリを実行する
アプリの準備ができたら、run-spec.yaml
で呼び出します。 このファイルは、アプリ テンプレートの一部として提供されます。
hello
を置き換える文字列を指定します。 次に、CodeLens のリンクまたはサイド バーの稲妻ボタンを使用して、アプリをもう一度実行します。 run-spec
オプションが表示されない場合は、クラスターに展開したアプリから生成します。
実行仕様を編集し終わったら、実行します。 アプリの実行が完了すると、Visual Studio Code によってフィードバックが返されます。
前のスクリーンショットでは、ワークスペースの一時 .json
ファイルに出力が表示されます。 この出力を保持する場合は、保存できます。 それ以外の場合は、閉じると削除されます。 ファイルに書き込む出力がアプリにない場合、[Successful App Run
] (アプリの正常な実行) の状態通知のみが表示されます。 正常に実行されなかった場合は、問題を特定するのに役立つエラー メッセージが表示されます。
アプリを実行するときは、さまざまな方法でパラメーターを渡すことができます。
.json
を使用して、要求されるすべての入力を指定できます。これは次のとおりです。
inputs: ./example.json
展開されたアプリが呼び出され、入力パラメーターがプリミティブでない場合は、パラメーターの種類をインラインで指定します。 そのため、配列、ベクトル、データフレーム、複雑な JSON などについては、次のようになります。
- ベクター
inputs:
x: [1, 2, 3]
- マトリックス
inputs:
x: [[A,B,C],[1,2,3]]
- オブジェクト
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 チームまでお送りください。