Visual Studio Code で Microsoft Fabric ノートブックを作成して管理する
Synapse 用 Visual Studio (VS) Code 拡張機能は、Fabric でのノートブックの CRUD (作成、読み取り、更新、削除) 操作を完全にサポートしています。 この拡張機能では、ローカル ワークスペースとリモート ワークスペース間の同期もサポートされています。変更を同期すると、ローカル ワークスペースとリモート ワークスペース間の競合や相違点に対処できます。
この拡張機能を使用すると、Fabric 用リモート Apache Spark コンピューティングでノートブックを実行することもできます。
Synapse 拡張機能でノートブックを開く
Fabric ポータルのノートブック作成ページで [VS Code で開く] ボタンをクリックすると、同じノートブックを Fabric 用 Synapse VS Code 拡張機能で直接開くことができます。 VS Code で拡張機能をアクティブにして、ノートブックを 1 回開くと、ワークスペースはノートブックに自動的に接続されます。
ヒント
VS Code 用 Synapse 拡張機能をインストールしていない場合は、最初にインストールする必要があります。 詳しくは、Synapse 拡張機能のインストールに関する記事をご覧ください。 拡張機能が公式にリリースされた後は、自動的にインストールされるようになります。
ノートブックのリストを表示する
ノートブック ツリー ノードには、現在のワークスペース内のすべてのノートブック項目が一覧表示されます。 次の図に示されているように、VS Code での変更に基づいて、リストには最新の状態を示すさまざまな色と文字が表示されます。
- 既定値: テキストが白色で、ノートブック名の右側に文字がない場合、既定または初期化済みの状態を示します。 ノートブックはリモート ワークスペースに存在し、ローカル環境にはダウンロードされていません。
- 変更済み: 名前の右側に M という文字が表示されていて、テキストが黄色の場合は、ノートブックが VS Code でローカル環境にダウンロードされて編集され、それらの保留中の変更がリモート ワークスペースにまだ発行されていないことを示します。
- ローカル: L という文字が表示されていて、テキストが緑色の場合は、ノートブックがダウンロードされていて、内容がリモート ワークスペースと同じであることを示します。
- 競合: C という文字があり、テキストが赤色の場合、ローカル バージョンとリモート ワークスペース バージョンの間に競合が存在することを示します。
ノートブックを作成する
VS Code エクスプローラーで、ノートブックのツール バーをポイントします。 [ノートブックの作成] オプションが表示されます。
[ノートブックの作成] を選択し、名前と説明を入力します。 新しいノートブックがリモート ワークスペースに作成され、ノートブック リストに既定の状態で表示されます。
ノートブックをダウンロードする
ノートブックの内容を編集する前に、ノートブックを VS Code にダウンロードする必要があります。
VS Code のノートブック リストで、ノートブック名をポイントします。 ノートブック名の横に [ダウンロード] オプションが表示されます。
[ダウンロード] を選択し、ノートブックをローカルの作業ディレクトリに保存します。
ノートブックを開く
VS Code エクスプローラーで、ダウンロードしたノートブックの名前をポイントします。 ノートブックの横に、[Open Notebook Folder] (ノートブック フォルダーを開く) オプションなど、いくつかのオプションが表示されます。
[Open Notebook Folder] (ノートブック フォルダーを開く) を選択します。ノートブックが VS Code エディターの画面で開きます。
ノートブックを削除する
ヒント
エラーを回避するために、ノートブックを削除する前に、エクスプローラー ビューでノートブック フォルダーを閉じ、エディター ビューでノートブックを閉じてください。
ノートブックを削除するには:
VS Code エクスプローラーで、削除するノートブックの名前をポイントします。名前の右側に [Delete Notebook] (ノートブックの削除) オプションを含むオプションが表示されます。
[Delete Notebook] (ノートブックの削除) オプションを選択します。 メッセージが表示されたら、ローカル コピーのみ削除するか、ローカル コピーとリモート ワークスペース コピーの両方を削除するかを選択します。
ローカルの変更をリモート ワークスペースにパブリッシュする
ローカルの変更をリモート ワークスペースにプッシュするには:
VS Code エクスプローラーで、リモート ワークスペースにパブリッシュするノートブックの名前をポイントします。名前の右側に [パブリッシュ] オプションを含むオプションが表示されます。
公開を選択します。 リモート ワークスペースのバージョンが、ローカルの VS Code の変更によって更新されます。
- ローカル更新によってマージの競合が発生した場合は、マージが実行される前に競合を解決するように求められます。
他のユーザーが Fabric ポータルで同じノートブックを開いている場合、次の図に示されているように、ローカルの VS Code の変更を受け入れるか拒否するように求められます。
- 承諾: VS Code からの変更がワークスペースに正常に保存されます。
- 拒否: VS Code からの変更は無視されます。
リモート ワークスペースから変更をプルする
ローカル バージョンを最新のワークスペース バージョンで更新するには、リモート バージョンをプルします。
VS Code エクスプローラーで、更新するノートブックの名前をポイントします。名前の右側に [Update Notebook] (ノートブックの更新) オプションを含むオプションが表示されます。
[Update Notebook] (ノートブックの更新) オプションを選びます。 VS Code によって、リモート ワークスペースから最新バージョンがプルされ、VS Code 差分エディターが開かれるので、2 つのノートブック ファイルを比較できます。 左側の画面はワークスペースからのもので、右側の画面はローカル バージョンからのものです。
左側のコード/マークダウン セルを更新して問題に対処します。
すべての競合を解決したら、差分エディターの右上隅にある [マージ] オプションを選んで、マージが完了したことを確認します。 ([マージ] を選ぶまで、ノートブックは競合モードのままです。)
重要
差分エディターを開いた後、拡張機能によって差分ビューの左側が自動的に更新され、リモート ワークスペースから最新の更新が取り込まれることはありません。
リモート Spark コンピューティングでノートブックを実行またはデバッグする
この拡張機能に付属しているカーネル synapse-spark-kernel を選択すると、リモート Spark コンピューティング上でコード セルを実行できます。 このカーネルをいったん選ぶと、実行している間、この拡張機能はすべての PySpark API 呼び出しをインターセプトし、それらをリモート Spark コンピューティングへの対応する http 呼び出しに変換します。 純粋な Python コードの場合でも、ローカル環境で実行されます。