注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
このチュートリアルでは、JupyterLab® または RStudio® Workbench 用のワークスペースを設定しながら、Code Workspaces を紹介します。
すべてのコードワークスペースは、Palantir プラットフォームのコードリポジトリを元にしています。これにより、コードワークスペースでは、ブランチ作成、マージ、コミット履歴など、業界標準のバージョン管理機能を利用でき、ほかのユーザーもコードを閲覧して、同じワークスペースで安全に作業できます。
以前は、コードワークスペースと関連するコードリポジトリは、別々のリソースとして扱われていました。現在は、コードワークスペースと関連するコードリポジトリは、コードリポジトリという単一のリソースとして扱われます。Foundry の任意のフォルダーからコードリポジトリを選択すると、関連する Jupyter または RStudio® ワークスペースが自動的に開きます。
この変更は新しいコードワークスペースに適用され、既存のコードワークスペースとコードリポジトリには影響しません。既存のものは引き続き別々のリソースとして扱われます。
コードワークスペースを起動するには、Code Workspaces アプリケーションを開き、全般タブに移動します。次に、コードワークスペースを作成するフォルダーを選択します。
プロジェクトで編集者または所有者ロールを持つユーザーは、コードワークスペースの設定を変更できます。プロジェクトで閲覧者ロールを持つユーザーは、ワークスペースを起動できます。場所として個人フォルダを選択できますが、これによりコードワークスペースとデータがプロジェクト内に制限される場合があります。
起動するワークスペースの種類を選択します。現在サポートされているワークスペースは、JupyterLab と RStudio® Workbench です。


次に、作成するワークスペースの元コードリポジトリの名前と場所を設定します。RStudio® ワークスペースを作成する場合は、ライセンスを選択できます。ほとんどの場合、ライセンスは自動的に選択されます。

ワークスペースを起動するユーザーごとに、独立したセッションが実行されます。2人以上のユーザーが同じワークスペースを使用する場合は、すべてのユーザーが元のコードリポジトリに対して閲覧者以上の権限を持っていることを確認してください。コードワークスペースの元コードリポジトリの詳細については、上記を参照してください。
詳細設定では、コードワークスペースのアイドル時間とリソースプロファイルを定義できます。これらの設定は、右上隅の歯車アイコンを選択して開くワークスペースの設定パネルで、いつでも変更できます。

元のコードリポジトリは Code Workspaces のインフラストラクチャとして使用するためにカスタマイズされているため、そのリポジトリでトランスフォームを直接公開することはできません。すべてのコードはコードワークスペースから公開する必要があります。
データタブに移動し、追加 > データの読み取りを選択すると、Foundry 内のソースからデータを直接インポートできます。これには、Foundry データセット、Iceberg テーブル、仮想テーブルが含まれます。コードワークスペースの現在のプロジェクトの外部(ユーザーの個人フォルダを含む)からデータをインポートする場合は、参照を追加する必要があります。
また、まだ Foundry に取り込まれていないデータについては、データをアップロードを選択して、デバイスから直接データをインポートできます。

データセットビューは、コードワークスペースにインポートするデータセットとして使用できません。必要に応じて、代わりにデータセットビューを新しいデータセットまたは既存のデータセットにコピーしてください。
左側のパネルのパッケージタブに移動して、コードワークスペースにパッケージをインポートできます。また、Jupyter® では Conda または PyPI、RStudio® では CRAN を使用して、パッケージを直接インストールすることもできます。
JupyterLab® ワークスペースは、Conda または PyPI からのパッケージのインストールをサポートしています。デフォルトでは、Code Workspaces は conda-forge と pypi.org を利用できるようにしています。ほかのチャネルをコードワークスペースに追加するには、元コードリポジトリにチャネルを追加し、コードワークスペースを再起動します。
マネージド環境を使用すると、JupyterLab® の Conda/PyPI 環境を、JupyterLab®、アプリケーション、またはトランスフォームのワークフロー全体で一貫して復元できます。
パッケージタブでパッケージの一覧を見て、インストールするパッケージを選択できます。これにより、新しい JupyterLab® ターミナルでインストールコマンドが自動的に実行されます。
パッケージを手動でインストールするには、JupyterLab® ターミナルで、Conda パッケージには maestro env conda install <packages>、PyPI パッケージには maestro env pip install <packages> を使用できます。
詳細については、Jupyter® Notebooks のマネージド Conda/PyPI 環境を参照してください。
mamba と pip を使用したパッケージの直接インストールは、現在非推奨です。
RStudio® ワークスペースは、CRAN、Posit™ Package Manager、または Bioconductor からのパッケージのインストールをサポートしています。デフォルトでは、Code Workspaces は Posit™ Public Package Manager ↗ のすべてと、Bioconductor ↗ を利用できるようにしています。ほかのチャネル(MRAN など)を追加するには、元コードリポジトリにチャネルを追加し、コードワークスペースを再起動します。
renv は認証付き CRAN チャネルをサポートしているため、パッケージのインストールに renv を使用できます。
パッケージタブでパッケージの一覧を見て、インストールするパッケージを選択できます。これにより、RStudio® Workbench にコピーして貼り付け、実行できるインストールコマンドが生成されます。通常、CRAN パッケージは renv::install("<package>")、Bioconductor パッケージは renv::install("bioc::<package>") でインストールします。
同じワークスペースを使用するほかのユーザーがコードを閲覧できるようにするには、作業中のブランチにコードを公開する必要があります。
コードを公開すると CI チェックが実行され、登録済みのすべての Code Workspace アプリケーションの新しいバージョンが公開されます。ベストプラクティスとして、1つのコードワークスペースで独立した複数のワークフローを実行しようとするのではなく、単一の種類のタスク(アプリケーションの構築、データの分析、データ変換の記述、モデルの構築など)に集中することを推奨します。
未公開の変更は、ソースコントロールサイドパネルで確認できます。必要に応じてコミットメッセージを入力し、変更を同期するを選択してコードを公開します。パネルが折りたたまれているときは、変更されたファイルの数がソースコントロールアイコン上に表示されます。

ブランチマネージャーを使用して、コードワークスペースのブランチ化、ブランチのチェックアウト、およびその他のバージョン管理操作を実行できます。
ブランチを作成または検索するには、画面上部のブランチセレクターを使用します。ブランチセレクターを選択すると、既存のブランチの一覧を表示するメニューが開きます。また、新規ブランチを作成を選択して、新しいブランチを作成することもできます。未公開のコード変更がある場合は、選択したブランチをチェックアウトする前に、同期を求めるプロンプトが表示されます。
Foundry のほかの場所でのブランチ化と同様に、コードワークスペースで利用可能なデータは、現在のブランチから取得されます(フォールバックが適用されます)。出力データセットにデータを書き込むと、そのデータは現在のブランチに書き込まれます。
変更を提案するを選択すると、このブランチを master にマージできます。変更を提案すると、プルリクエスト(PR)のプレビューが表示されます。
インターフェースの右上にある共有を選択すると、コードワークスペースを共有できます。
コードワークスペースとコードリポジトリが別々のリソースである場合、ほかのユーザーがワークスペース内のコードを閲覧できるようにするには、基となるリポジトリの権限も共有する必要があります。
プロジェクトで編集者または所有者ロールを持つユーザーは、コードワークスペースの設定を変更できます。プロジェクトで閲覧者ロールを持つユーザーは、ワークスペースを起動できます。
インターフェースの右上にあるアクティブ > ワークスペースを再起動を選択すると、コードワークスペースを手動で再起動できます(たとえば、設定の変更を反映する場合)。
これにより、初期状態の新しいセッションが作成されます。ワークスペースは、基となるコードリポジトリにコミットされたすべての変更を反映して、自動的に再起動します。ただし、インポートしたデータ、メモリーに格納された変数、インストールしたパッケージなど、再起動前の状態に含まれていたものがすべてワークスペースに残るわけではありません。
ワークスペースを再起動する前に、アプリケーションは自動的に Checkpoint を作成し、最新の変更を同期するよう求めるプロンプトを表示します。
アクティブ > Checkpoint を復元を選択すると、ワークスペースを以前の Checkpoint の状態に復元できます。詳細については、以下の Checkpoint セクションを参照してください。Code Workspaces は、ワークスペースの再起動後に、ワークスペースを以前の Checkpoint に自動的に復元することはありません。
Code Workspaces を初めて開くユーザーには、基となるリポジトリが /home/user/repo にクローンされた空のワークスペースが提供されます。
Code Workspaces のセッションは、ユーザーの操作がないと自動的にシャットダウンされ、継続時間は最長24時間です(自動シャットダウンの詳細については、詳細設定のドキュメントを参照してください)。
セッションがシャットダウンすると、関連するすべての状態が Foundry の Checkpoint に保存され、同じユーザーが次にコードワークスペースを開いたときに復元されます。これにより、ユーザーはシャットダウン時の状態から作業を再開できます。
Code Workspaces には、既存の作業を保存する方法が2つあります。手動のコード同期と自動の Checkpoint 作成です。
ワークスペースの Checkpoint に依存するのではなく、基となるコードリポジトリに同期したコードに依存することを推奨します。必要なパッケージのインストールもコードに含めてください。コード同期は、堅牢なワークフローを確保し、特定の Checkpoint にアクセスできないほかのユーザーとの共同作業を容易にするのに役立ちます。
コード同期は手動操作であり、コードワークスペース内の既存の作業を保存するために推奨される方法です。コードを同期するとは、ワークスペースの基となるコードリポジトリにファイルをコミットすることです。コード同期で保存した作業はリポジトリに永続的に保存され、/home/user/repo フォルダー内のすべてがその同期の一部として保存されます。コード同期では、変数の内容、環境にインストールされたパッケージ、データ、コードセルの出力などの既存の状態は保存されません。ワークスペースの同期履歴は、ワークスペースの基となるコードリポジトリで確認できます。通常は、変更履歴を維持し、関連する作業がすべて適切かつ永続的に保存されるように、コードを頻繁に同期することを推奨します。
ワークスペース内の既存の変更をすべて保存するには、ワークスペースの右上にある変更を同期するを選択します。同期に成功すると、変更はワークスペースの基となるリポジトリにコミットされます。このリポジトリにアクセスするには、右上の歯車アイコンを選択し、コードリポジトリを開くを選択します。
Checkpoint 作成は、ワークスペースの既存の状態のスナップショットを自動的に作成し、セッションをまたいで復元できるようにする機能です。Checkpoint には、データ Checkpoint とコード Checkpoint の2種類があります。
コミットされたファイルのみを保存するコード同期とは異なり、データ Checkpoint は、/home/user/repo(未コミットのコード変更を含む)、/home/user/libs(インストールされたパッケージを含む)、/home/user/envs(Conda 環境)、および /home/user/data(ユーザーがダウンロードした追加データ)の内容をすべて保存します。RStudio® の場合、メモリーに保存された変数は /home/user/repo/.RData に保存されます。
制限付き出力モードでは、データ Checkpoint が無効になります。コード Checkpoint は、制限付き出力モードでも引き続き機能します。
デフォルトでは、Code Workspaces はユーザーのセッションのデータ Checkpoint を10分ごとに保存します。データ Checkpoint はユーザー間で共有されません。また、Code Workspaces は、ワークスペースがシャットダウンする前にもデータ Checkpoint を作成します(たとえば、手動の再起動、手動のシャットダウン、自動のシャットダウンの場合)。非アクティブなコードワークスペースでは、新しいデータ Checkpoint は生成されず、各データ Checkpoint の保持期間は最大30日です。そのため、30日を超えて操作されていないワークスペースでは、有効なデータ Checkpoint が利用できなくなり、基となるリポジトリに同期した内容、またはコード Checkpointからしか作業を復元できません。データ Checkpoint は、セッションをまたいでワークスペースの状態を保存するためのセーフティネットとして設計されています。主要な保存方法として依存すべきではありません。ワークスペース内の既存の作業を頻繁に同期することを強く推奨します。
データ Checkpoint を復元すると、ワークスペースが再起動し、個人フォルダが Checkpoint の作成時の状態に復元されます。
コード Checkpoint は、/home/user/repo の内容(未コミットのコード変更を含む)を保存することで、ワークスペースのコード_のみ_を保存します(データは保存しません)。その際、一定のサイズを超えるファイルや、データによく使用される拡張子を持つファイルは除外されます。この絞り込みは、ベストエフォートで行われます。コード Checkpoint は、ワークスペースがシャットダウンする前にのみ作成されます。データ Checkpoint とは異なり、コード Checkpoint には保持期間の制限がありません。
コード Checkpoint には、一般的なデータファイルをワークスペースの基となるリポジトリにコミットできないようにする絞り込みは適用されません。コードファイルにデータが含まれていないことを確認してください。たとえば、.py コードファイルには、Foundry データセットに存在する表形式のデータを決して含めないでください。
Code Workspaces は、/home/user/repo/ フォルダーを自動的にスキャンし、サイズの大きいファイルや、.csv、.gz、.parquet、.pdf、.xlsx などの一般的なデータファイル拡張子を持つファイルを検出します。これらのファイルを data-checkpoint または data-tmp ディレクトリに移動すると、ワークスペースの起動時間が最適化され、セキュリティが向上します。また、ご自身やほかのユーザーがこれらのファイルを誤ってワークスペースの基となるリポジトリにコミットすることを防ぐ保護策にもなります。
data-checkpoint: セッションをまたいで保存および復元したいデータファイルの保存先として推奨されます。これらのファイルは Checkpoint に保存され、ワークスペースの起動を妨げることなくバックグラウンドで復元されます。また、このフォルダーは同期の対象から除外されるため、サイズが大きく、保護されていないデータが基となるコードリポジトリにコミットされることを防ぎます。data-tmp: セッションをまたいで保存する必要のない一時ファイルの保存先として推奨されます。これらのファイルは Checkpoint や基となるコードリポジトリには保存されず、ワークスペースのシャットダウン時に破棄されます。公開済みのダッシュボードやトランスフォーム、またはほかのユーザーがデータを利用できるようにしたい場合は、ワークスペースに保存するのではなく、Foundry データセットにデータを保存することを推奨します。
ワークスペースがデータファイルを検出すると、data-checkpoint または data-tmp ディレクトリへの移動を促す警告が表示されます。移動するファイルを選択し、ダイアログに従って移動します。忘れずにコード内のパスの接頭辞を新しいものに更新してください。更新しないと、/home/user/repo/ フォルダーに新しいデータファイルを書き込んだときに、すぐに警告が再び表示されます。

RStudio® および Shiny® は Posit™ の商標です。
Jupyter®、JupyterLab®、および Jupyter® のロゴは NumFOCUS の商標または登録商標です。
記載されている第三者の商標(ロゴおよびアイコンを含む)はすべて、それぞれの所有者に帰属します。提携や推奨を示唆するものではありません。