在 Visual Studio Code 中建立和管理 Microsoft Fabric 筆記本
面向 Synapse 的 Visual Studio (VS) Code 延伸項目完全支援 Fabric 中的 CURD (建立、讀取、更新和刪除) 筆記本作業。 此延伸項目也支援本機與遠端工作區之間的同步處理;在同步處理變更時,您可以解決本機與遠端工作區之間的任何衝突或差異。
透過此延伸項目,還可以在 Fabric 的遠端 Apache Spark 計算上執行筆記本。
使用 Synapse 延伸項目開啟筆記本
按下 Fabric 入口網站上筆記本製作頁面中的 [在 VS Code中開啟] 按鈕,即可使用 Fabric 的 Synapse VS Code 延伸項目直接開啟同一個筆記本。 在 VS Code 中啟用此延伸項目並開啟筆記本一次之後,工作區應該會自動連線到該筆記本。
提示
如果您尚未安裝 Synapse VS Code 延伸項目,則必須先安裝。 若要了解詳細資訊,請參閱<安裝 Synapse 延伸項目>。 此延伸項目公開發行之後,將會自動安裝。
檢視筆記本清單
筆記本樹狀節點會列出目前工作區中的所有筆記本項目。 根據 VS Code 中的變更,清單會以不同的色彩和字元來標示最新的狀態,如下圖所示。
- 預設:筆記本名稱右邊的白色文字且無字元,表示預設或初始化狀態。 筆記本存在於遠端工作區中,且您尚未下載到本機。
- 已修改:名稱右邊的 M 字元和黃色文字表示已在 VS Code 本機下載並編輯了筆記本,而且尚未將這些暫止的變更發佈回遠端工作區。
- 本機:L 字元和綠色文字表示已下載筆記本,且內容與遠端工作區相同。
- 衝突:C 字元和紅色文字表示本機版本與遠端工作區版本之間存在衝突。
建立筆記本
在 VS Code 總管中,將滑鼠停留在筆記本工具列上。 [建立筆記本] 選項隨即出現。
選取 [建立筆記本],輸入目錄名稱和描述。 新的筆記本會在遠端工作區中建立,並以預設狀態顯示在筆記本清單中。
下載筆記本
必須先將筆記本下載至 VS Code,才能編輯筆記本的內容。
在 VS Code 的筆記本清單中,將滑鼠停留在筆記本名稱上方。 [下載] 選項會顯示在筆記本名稱旁邊。
選取 [下載],並將筆記本儲存到本機工作目錄。
開啟筆記本
在 VS Code 總管中,將滑鼠停留在已下載的筆記本名稱上。 筆記本旁邊會出現數個選項,包括 [開啟筆記本資料夾] 選項。
選取 [開啟筆記本資料夾],筆記本便會在 VS Code 編輯器螢幕中開啟。
刪除筆記本
提示
若要避免失敗,請先在 [總管] 檢視中關閉筆記本資料夾,並在 [編輯器] 檢視中關閉筆記本,再刪除筆記本。
若要刪除筆記本:
在 VS Code 總管中,將滑鼠停留在想要刪除的筆記本名稱上;選項會顯示在筆記本名稱右側,包括 [刪除筆記本] 選項。
選取 [刪除筆記本] 選項。 出現提示時,選擇只刪除本機複本,或同時刪除本機和遠端工作區複本。
將本機變更發佈至遠端工作區
若要將本機變更推送至遠端工作區:
在 VS Code 總管中,將滑鼠停留在要發布至遠端工作區的筆記本名稱上;選項會顯示在名稱右側,包括 [發佈] 選項。
選取發行。 遠端工作區版本會隨著本機 VS Code 變更而更新。
- 如果本機更新導致任何合併衝突,系統會提示您在合併完成之前加以解決。
如果其他人在 Fabric 入口網站中開啟同一個筆記本,系統會通知他們接受或拒絕您做出的本機 VS Code 變更,如下圖所示。
- 接受:從 VS Code 所做的變更已成功儲存在工作區中。
- 拒絕:從 VS Code 所做的變更會被忽略。
從遠端工作區提取變更
若要使用最新的工作區版本更新本機版本,請提取遠端版本:
在 VS Code 總管中,將滑鼠停留在要更新的筆記本名稱上;選項會顯示在名稱右側,包括 [更新筆記本] 選項。
選取 [更新筆記本] 選項。 VS Code 會從遠端工作區提取最新版本,並開啟 VS Code Diff 編輯器,以便比較這兩個筆記本檔案。 左側畫面來自工作區,右側畫面來自本機版本:
更新左側的程式碼/Markdown 儲存格,以解決問題。
解決所有衝突之後,請選取 Diff 編輯器右上角的 [合併] 選項,以確認合併已完成。 (在您選取 [合併] 之前,筆記本會保持 [衝突] 模式。)
重要
開啟 Diff 編輯器一次之後,此延伸項目將不會自動重新整理 Diff 檢視的左側,以從遠端工作區擷取最新的更新。
在遠端 Spark 計算上執行或偵錯筆記本
透過選取隨附於此延伸項目的核心程序 synapse-spark-kernel,可以在遠端 Spark 計算之上執行程式碼儲存格。 選取了此核心程序之後,在執行階段期間,此延伸項目會攔截所有 PySpark API 呼叫,並將它們轉譯為遠端 Spark 計算的對應 HTTP 呼叫。 對於純 Python 程式碼,其將仍在本機環境中執行。