如何使用 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 延伸模組:
若要在 Visual Studio Code 中安裝 App Deploy,請從 GitHub 下載延伸模組。
啟動 Visual Studio Code 並瀏覽至 [延伸模組] 提要欄位。
按一下提要欄位頂端的
…
內容功能表,然後選取Install from vsix
。找到您所下載的
sqlservbdc-app-deploy.vsix
檔案,然後選擇該檔案以安裝。
App Deploy 成功安裝之後,其會提示您重新載入 Visual Studio Code。 您現在應該會在 Visual Studio Code 提要欄位中看見 [SQL Server BDC 應用程式總管]。
載入 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.yaml
的inputs
和outputs
中指定。
- 這是您的原始程式碼檔案,如
若要使用 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
相同的目錄中。
側邊欄中的應用程式狀態會在準備就緒可供使用時通知您:
您可以在側邊窗格中看到下列內容:
您可以使用下列連結,檢視您已部署的所有應用程式:
- state
- version
- 輸入參數
- 輸出參數
- 連結
- Swagger
- 詳細資料
如果您按一下 links
,將會看到您可以存取已部署應用程式的 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 小組。