次の方法で共有


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 でノートブックを開く。

ヒント

VS Code 用 Synapse 拡張機能をインストールしていない場合は、最初にインストールする必要があります。 詳しくは、Synapse 拡張機能のインストールに関する記事をご覧ください。 拡張機能が公式にリリースされた後は、自動的にインストールされるようになります。

ノートブックのリストを表示する

ノートブック ツリー ノードには、現在のワークスペース内のすべてのノートブック項目が一覧表示されます。 次の図に示されているように、VS Code での変更に基づいて、リストには最新の状態を示すさまざまな色と文字が表示されます。

  • 既定値: テキストが白色で、ノートブック名の右側に文字がない場合、既定または初期化済みの状態を示します。 ノートブックはリモート ワークスペースに存在し、ローカル環境にはダウンロードされていません。
  • 変更済み: 名前の右側に M という文字が表示されていて、テキストが黄色の場合は、ノートブックが VS Code でローカル環境にダウンロードされて編集され、それらの保留中の変更がリモート ワークスペースにまだ発行されていないことを示します。
  • ローカル: L という文字が表示されていて、テキストが緑色の場合は、ノートブックがダウンロードされていて、内容がリモート ワークスペースと同じであることを示します。
  • 競合: C という文字があり、テキストが赤色の場合、ローカル バージョンとリモート ワークスペース バージョンの間に競合が存在することを示します。

個々のノートブックのさまざまな状態を示すノートブックリストのスクリーンショット。

ノートブックを作成する

  1. VS Code エクスプローラーで、ノートブックのツール バーをポイントします。 [ノートブックの作成] オプションが表示されます。

    VS Code のノートブック リストのスクリーンショット。[ノートブックの作成] オプションを選択する場所が示されています。

  2. [ノートブックの作成] を選択し、名前と説明を入力します。 新しいノートブックがリモート ワークスペースに作成され、ノートブック リストに既定の状態で表示されます。

ノートブックをダウンロードする

ノートブックの内容を編集する前に、ノートブックを VS Code にダウンロードする必要があります。

  1. VS Code のノートブック リストで、ノートブック名をポイントします。 ノートブック名の横に [ダウンロード] オプションが表示されます。

    VS Code エクスプローラーのノートブック リストのスクリーンショット。[ノートブックのダウンロード] オプションを選択する場所が示されています。

  2. [ダウンロード] を選択し、ノートブックをローカルの作業ディレクトリに保存します。

ノートブックを開く

  1. VS Code エクスプローラーで、ダウンロードしたノートブックの名前をポイントします。 ノートブックの横に、[Open Notebook Folder] (ノートブック フォルダーを開く) オプションなど、いくつかのオプションが表示されます。

    VS Code エクスプローラーのスクリーンショット。[Open Notebook Folder] (ノートブック フォルダーを開く) を選択する場所が示されています。

  2. [Open Notebook Folder] (ノートブック フォルダーを開く) を選択します。ノートブックが VS Code エディターの画面で開きます。

ノートブックを削除する

ヒント

エラーを回避するために、ノートブックを削除する前に、エクスプローラー ビューでノートブック フォルダーを閉じ、エディター ビューでノートブックを閉じてください。

ノートブックを削除するには:

  1. VS Code エクスプローラーで、削除するノートブックの名前をポイントします。名前の右側に [Delete Notebook] (ノートブックの削除) オプションを含むオプションが表示されます。

    VS Code エクスプローラーのスクリーンショット。[Delete Notebook] (ノートブックの削除) オプションが表示される場所が示されています。

  2. [Delete Notebook] (ノートブックの削除) オプションを選択します。 メッセージが表示されたら、ローカル コピーのみ削除するか、ローカル コピーとリモート ワークスペース コピーの両方を削除するかを選択します。

ローカルの変更をリモート ワークスペースにパブリッシュする

ローカルの変更をリモート ワークスペースにプッシュするには:

  1. VS Code エクスプローラーで、リモート ワークスペースにパブリッシュするノートブックの名前をポイントします。名前の右側に [パブリッシュ] オプションを含むオプションが表示されます。

    VS Code エクスプローラーのスクリーンショット。[Publish Notebook] (ノートブックのパブリッシュ) オプションが表示される場所が示されています。

  2. 公開を選択します。 リモート ワークスペースのバージョンが、ローカルの VS Code の変更によって更新されます。

    • ローカル更新によってマージの競合が発生した場合は、マージが実行される前に競合を解決するように求められます。
  3. 他のユーザーが Fabric ポータルで同じノートブックを開いている場合、次の図に示されているように、ローカルの VS Code の変更を受け入れるか拒否するように求められます。

    外部編集が検出されたことをポータル ユーザーに通知するダイアログ ボックスのスクリーンショット。これには、[承諾] ボタンと [拒否] ボタンが含まれています。

    • 承諾: VS Code からの変更がワークスペースに正常に保存されます。
    • 拒否: VS Code からの変更は無視されます。

リモート ワークスペースから変更をプルする

ローカル バージョンを最新のワークスペース バージョンで更新するには、リモート バージョンをプルします。

  1. VS Code エクスプローラーで、更新するノートブックの名前をポイントします。名前の右側に [Update Notebook] (ノートブックの更新) オプションを含むオプションが表示されます。

    VS Code エクスプローラーのスクリーンショット。[Update Notebook] (ノートブックの更新) オプションを選択する場所が示されています。

  2. [Update Notebook] (ノートブックの更新) オプションを選びます。 VS Code によって、リモート ワークスペースから最新バージョンがプルされ、VS Code 差分エディターが開かれるので、2 つのノートブック ファイルを比較できます。 左側の画面はワークスペースからのもので、右側の画面はローカル バージョンからのものです。

    ノートブックの差分の更新を示すスクリーンショット。

  3. 左側のコード/マークダウン セルを更新して問題に対処します。

  4. すべての競合を解決したら、差分エディターの右上隅にある [マージ] オプションを選んで、マージが完了したことを確認します。 ([マージ] を選ぶまで、ノートブックは競合モードのままです。)

    VS Code 差分エディター画面の右上隅のスクリーンショット。[マージ] オプションを選択する場所が示されています。

重要

差分エディターを開いた後、拡張機能によって差分ビューの左側が自動的に更新され、リモート ワークスペースから最新の更新が取り込まれることはありません。

リモート Spark コンピューティングでノートブックを実行またはデバッグする

この拡張機能に付属しているカーネル synapse-spark-kernel を選択すると、リモート Spark コンピューティング上でコード セルを実行できます。 このカーネルをいったん選ぶと、実行している間、この拡張機能はすべての PySpark API 呼び出しをインターセプトし、それらをリモート Spark コンピューティングへの対応する http 呼び出しに変換します。 純粋な Python コードの場合でも、ローカル環境で実行されます。

ノートブックを実行する場所を示すスクリーンショット。