共用方式為


如何使用 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 平台上的巨量資料選項

Prerequisites

功能

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

  4. 找到您所下載的 sqlservbdc-app-deploy.vsix 檔案,然後選擇該檔案以安裝。

App Deploy 成功安裝之後,其會提示您重新載入 Visual Studio Code。 您現在應該會在 Visual Studio Code 提要欄位中看見 [SQL Server BDC 應用程式總管]。

載入 App Explorer

選取側邊欄中的延伸模組圖示。 側邊面板隨即載入並顯示 App Explorer。

螢幕擷取畫面,其中顯示沒有應用程式或應用程式規格的 App Explorer。

連線到叢集端點

您可以使用下列任何方法連線到叢集端點:

  • 按一下位於底部且顯示為 SQL Server BDC Disconnected的狀態列。
  • 或是按一下位於頂端且具有指向門內箭號的 Connect to Cluster 按鈕。

Visual Studio Code 會提示您輸入適當的端點、使用者名稱與密碼。

連線到連接埠為 30080 的端點 Cluster Management Service

您也可以使用下列命令,從命令列尋找此端點:

azdata bdc endpoint list

擷取此資訊的另一種方式在 Azure Data Studio 中瀏覽至伺服器,然後以滑鼠右鍵按一下 [管理]。 系統隨即列出服務的端點。

尋找您想要使用的端點,然後連線到叢集。

新增連線

成功連線後,Visual Studio Code 會通知您已連線到叢集。 已部署的應用程式會顯示在側邊欄中,而且您的端點與使用者名稱會儲存到 ./sqldbc 作為使用者設定檔的一部分。 不會儲存密碼或權杖。 之後登入時,提示會預先填入您儲存的主機與使用者名稱,但一律會要求您輸入密碼。 如果您想要連線到不同的叢集端點,請選取 New Connection。 當您結束 Visual Studio Code,以及開啟不同的工作區時,系統會自動關閉連線。 然後,您需要重新連線。

建立應用程式範本

在 Visual Studio Code 中,在您要儲存應用程式成品的位置開啟工作區。

若要從範本部署新的應用程式,請選取 [App Specifications] \(應用程式規格\) 窗格上的 [New App Template] \(新增應用程式範本\) 按鈕。 提示會要求您提供要在本機電腦上儲存名稱、執行階段與新應用程式的位置。 您所提供的名稱與版本應該是 DNS-1035 標籤,且必須包含小寫英數字元或 '-'。 其開頭與結尾也必須是英數字元。

最好將延伸模組放在您目前的 Visual Studio Code 工作區中。 如此可提供延伸模組的完整功能。

新增應用程式範本

完成後,系統會在您所指定的位置,為新的應用程式範本建立結構,且 spec.yaml 部署會在您的工作區中開啟。 如果您選取的目錄位於您的工作區中,則會列在 [App Specifications] \(應用程式規格\) 窗格中:

已載入應用程式範本

新範本是一個簡單的 helloworld 應用程式,其會以下列方式,在 [App Specifications] \(應用程式規格\) 窗格中配置:

  • spec.yaml
    • 告訴叢集部署您應用程式的方式
  • run-spec.yaml
    • 告訴叢集您想要呼叫應用程式的方式

應用程式原始程式碼位於 [工作區] 資料夾中。

  • 來源檔案名稱
    • 這是您的原始程式碼檔案,如 spec.yaml 中的 src 所指定
    • 它具有稱為 handler 的單一函式,其會被視為應用程式的 entrypoint,如 spec.yaml 中所示。 它會接受名為 msg 的字串輸入,並會傳回名為 out 的字串輸出。 這些是在 spec.yamlinputsoutputs 中指定。

若要使用 spec.yaml 來部署應用程式,而不是建立結構的範本,請選取 New App Template 按鈕旁的 New Deploy Spec 按鈕。 現在,請重複相同的程序。 您只會收到 spec.yaml,您可以任意加以修改。

部署您的應用程式

您可以透過 spec.yaml 中的 CodeLens Deploy App,或是選取 [App specifications] \(應用程式規格\) 功能表中位於 spec.yaml 檔案旁的 [Lightning folder] \(閃電資料夾\) 按鈕,以立即部署您的應用程式。 該延伸模組將會壓縮 spec.yaml 所在目錄中的所有檔案。 然後,其會將您的應用程式部署至叢集。

注意

spec.yaml 必須位於您應用程式原始程式碼目錄的根層級。 此外,請確定所有的應用程式檔案都位於和 spec.yaml 相同的目錄中。

[Deploy app] \(部署應用程式\) 按鈕

[部署應用程式] \(部署應用程式\) CodeLens

側邊欄中的應用程式狀態會在準備就緒可供使用時通知您:

已部署應用程式

[App ready] \(應用程式就緒\) 側邊欄

[App ready] \(應用程式就緒\) 通知

您可以在側邊窗格中看到下列內容:

您可以使用下列連結,檢視您已部署的所有應用程式:

  • state
  • version
  • 輸入參數
  • 輸出參數
  • 連結
    • Swagger
    • 詳細資料

如果您按一下 links,將會看到您可以存取已部署應用程式的 swagger.json。 這可讓您撰寫用戶端來呼叫您的應用程式:

顯示 Visual Studio Code UI 的螢幕擷取畫面,其中顯示 swagger.json 檔案。

如需詳細資訊,請檢視取用巨量資料叢集上的應用程式 (部分機器翻譯)。

執行您的應用程式

一旦您的應用程式準備就緒,請使用 run-spec.yaml 加以呼叫。 此檔案會當作應用程式範本的一部分提供:

執行規格

指定要取代 hello 的字串。 然後,透過 CodeLens 連結或側邊欄中的 [Lightning] \(閃電\) 按鈕,再次執行您的應用程式。 如果您沒有看到 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 小組