ワークスペース¶
重要
2025年9月から、Snowflakeは徐々にアカウントをワークシートからワークスペースにアップグレードします。ワークスペースがデフォルトの SQL エディターになります。詳細については、 アカウントのデフォルト設定をワークシートからワークスペースに変更 をご参照ください。
概要¶
ワークスペースは、データ分析、モデル開発、パイプライン構築に使用できる、複数のファイルタイプにまたがるコードを作成、整理、管理するための統一エディターを提供します。
ワークスペース はあなただけのもので、あなたの作品を構築、実験、テストできる開発環境を提供します。ワークスペースのコンテンツはすべてファイルベースになるため、より複雑なプロジェクトに取り組むことができます。Gitと容易に統合することで、バージョン管理、コラボレーション、既存ワークフローとの調整を行えます。
ユーザーが初めてWorkspacesにアクセスすると、Snowflakeは自動的に内部のユーザー固有のデータベース(以前は Personal Database と呼ばれていました)を作成します。このデータベースはワークスペースを保存するためだけに使用され、テーブルや表示などの標準オブジェクトを含めることはできません。ユーザーには、ワークスペースの機能を有効にする以上の権限や能力は付与されません。
管理者は、ユーザーがこのデータベース上で OWNERSHIP、 USAGE、 CREATE SCHEMA の権限を持っているように見えることに気づくかもしれません。これらの権限はワークスペースと対話するために必要であり、他のリソースへのアクセスには影響しません。
ワークスペース環境¶
ワークスペースは、6つのセクションまたは ペイン で構成される新しいエディターです。
 
- ワークスペース: すべてのファイルやフォルダを1つの領域で管理できます。ファイルをドラッグしてフォルダ間で移動できます。ネストされたフォルダを使用して、関連するワークシートを論理的なカテゴリの下にグループ化することで、フラットなリストを検索することなく、特定のワークシートをすばやく見つけることができます。各ユーザーには、Snowflakeによって自動的にプロビジョニングされる「My Workspace」という名前のデフォルトのワークスペースがあります。Workspaces メニューから + Add New を選択して、新しいワークスペースを作成することもできます。デフォルトのワークスペースは、削除したり名前を変更したりできません。 
- ワークシート: ワークシートを開いて編集できます。ワークシートの編集権限しかない場合、編集は保存されないことに注意してください。ワークシートをワークスペース内のファイルに変換するには、ワークシート をワークスペース内のフォルダにドラッグします。ワークスペースのクエリはワークシートと同様に実行されますが、 UI のパフォーマンスが向上し、同じ SQL ファイルから 2 つのクエリを同時に実行できるようになるなど、若干の違いがあります。 
- オブジェクトエクスプローラー: アカウント内のすべてのデータベース、各データベースのスキーマ、およびその他のオブジェクトをタイプ別に示した階層ビュー。フィルターを使用してオブジェクトを検索します。Show databases I can query を選択すると、使用できないオブジェクトをフィルターで除外して表示を簡素化することもできます。垂直省略記号で使用可能なオプション  (その他のアクション)ボタンはオブジェクトタイプによって異なりますが、エディターでの名前の配置、名前のコピー、定義の表示などの機能が含まれます。Database Explorer または :ui:`File Explorer`を開くか閉じるには、ワークスペースウィンドウの下部ツールバーにある:ui:`File Explorer`アイコン (その他のアクション)ボタンはオブジェクトタイプによって異なりますが、エディターでの名前の配置、名前のコピー、定義の表示などの機能が含まれます。Database Explorer または :ui:`File Explorer`を開くか閉じるには、ワークスペースウィンドウの下部ツールバーにある:ui:`File Explorer`アイコン を選択します。 を選択します。
- エディター: クエリを編集し、横に分割して複数のファイルを同時に表示します。インラインCopilotを使用すると、エディタのワークスペース内でサジェストと補完を直接取得できます。 
- 結果: 結果を横に並べたり、ピン留めして簡単に比較できます。 
- クエリ履歴: 実行したすべてのクエリの履歴を表示します。Current File は、現在開かれ、エディターで選択されたファイルの履歴クエリを表示します。現在のファイルまたはすべてのファイルをフィルターします。All Files は、すべてのファイルで実行したすべての履歴クエリを表示します。このビューを開くまたは閉じるには、ワークスペースウィンドウの下部ツールバーにある Query History アイコン  を選択します。 を選択します。
ファイルとフォルダの作成と操作¶
ワークスペースでは、使い慣れた IDE とソース管理規約を使用して、コードを作成、整理、実行できます。
- Snowsight にサインインします。 
- ナビゲーションメニューで Projects » Workspaces を選択します。 
- 該当するフォルダの横にある + を選択します。ワークスペースを初めて使用する場合は、 + Add New を選択します。 
- 次のオプションから選択して、新しいファイルまたはフォルダを作成するか、既存のファイルまたはフォルダをアップロードします。 - SQL File: エディター内のタブとして、新しい空白の SQL ファイルを作成します。デフォルトでは、名前のないファイルには - .sqlが付加されます。エディターはこれを SQL ファイルとして認識し、構文のハイライトとオートコンプリートを有効にします。
- File: 新しいファイルを作成します。ファイル名と拡張子を指定してください。拡張子がエディターで認識されている場合(Java、 JavaScript、Scalaなど)、コードのハイライトとオートコンプリートが有効になります。 
- Folder: ワークスペース内に新しい空のフォルダを作成します。 
- Upload Files: ワークスペースの任意の場所に1つ以上のファイルをアップロードします。エディターはファイルの拡張子を使用し、ファイルを開いたときに適切なアイコン、動作、構文の強調表示を適用します。例えば、 - .sqlファイルは、 SQL 特有の機能を示しています。
- Upload Folder: 選択したワークスペースに追加するファイルまたはフォルダを 1 つ以上選択します。 
 
ファイルの管理¶
ワークスペース、ファイル、フォルダの名前の変更、削除、移動、整理ができます。
ワークスペース、ファイル、またはフォルダの名前を変更または削除します。
- ワークスペースにフォルダを作成するには、ワークスペースまたは既存のフォルダの横にある + を選択します。 
- ファイルやフォルダを整理するには、任意のファイルやフォルダを同じワークスペースの別の場所にドラッグします。ワークシートをワークスペースにドラッグすることもできます。 
複数のファイルや結果を1つのレイアウトで表示¶
タブと分割ペインで複数のファイルを管理すると、いくつかの利点があります。
- コードや結果を並べて比較ワークシートのクエリを参照しながら、別のクエリを実行できます。 
- マルチタスクをより効率的に: 異なるセル、出力、ファイルを一度に表示でき、切り替えの手間が省けます。 
ワークスペースのレイアウトを調整するには、 Workspaces ペインで縦の省略記号  (その他のアクション)を選択し、適切なオプションを選択します:
 (その他のアクション)を選択し、適切なオプションを選択します:
- 右に分割 
- 下に分割 
- その他を閉じる 
Gitリポジトリとの統合¶
ワークスペースはSnowflakeのローカルに置くこともできますし、開発中のワークスペースをGitリポジトリのブランチと同期させることもできます。ワークスペースでは、次のことができます。
- Gitリポジトリから最新の変更をワークスペースに取り込みます。 
- コミットし、更新したファイル をGit リポジトリにプッシュします。 
- ワークスペースで直接、コンフリクト を表示し、解決します。 
Gitワークスペースの作成¶
Git リポジトリに接続したワークスペースを作成し、 Snowsight で直接ファイルを開発・管理することができます。
注釈
Gitリポジトリには少なくとも1つのブランチが含まれている必要があります。空のリポジトリはサポートされていません。
新しいGit同期ワークスペースを作成するには
- Snowsight にサインインします。 
- ナビゲーションメニューで Projects » Workspaces を選択します。 
- Workspaces メニューで、 From Git repository を選択します。 
- Git リポジトリから URL をコピーし(たとえば - https://www.github.com/my-user/my-repo-name)、 Repository URL フィールドに貼り付けます。
- オプション: 新しいGit同期ワークスペースの名前を変更します。 
- API Integration メニューで、 API 統合.を選択します。 - API 統合はアカウント管理者によって作成されます。ステップ4で使用しているGitリポジトリ URL へのアクセスを許可する必要があります。詳細については、 Gitを使用するためのSnowflakeの設定 をご参照ください。 - また、Gitプロバイダーとして GitHub を使用して認証として OAuth を好む場合、アカウント管理者は、 OAuth をサポートする API 統合コードを作成する必要があります。例: - CREATE OR REPLACE API INTEGRATION api_integration_name API_PROVIDER = git_https_api API_ALLOWED_PREFIXES = ('https://github.com/') API_USER_AUTHENTICATION = ( TYPE = snowflake_github_app ) ENABLED = TRUE; 
- API 統合の基になる、認証を選択します。 - OAuth2 - Sign in を選択して、 GitHub リポジトリで認証します。サインイン後は、次回以降のセッションで認証情報を入力する必要はありません。なお、 OAuth2 は PrivateLink 環境では可用性はありません。 
- Personal access token - トークンを含むオブジェクトが格納されているデータベースとスキーマを選択します。新しい秘密を作成するには、 + Secret を選択し、必要な詳細を入力します。このシークレットまたはすべてのシークレットへのアクセスを許可するように API 統合を構成する必要があります。 
- Public repository - 認証を必要としない公開リポジトリを使用している場合は、このオプションを選択します。ワークスペースの変更をコミットして、この公開リポジトリにプッシュすることはできません。 
 
- Create を選択します。 
新しいブランチの作成¶
現在のブランチから新しいブランチを作成して、単独で変更作業を行うことができます。
- Snowsight にサインインします。 
- ナビゲーションメニューで Projects » Workspaces を選択します。 
- Changes タブを選択します。 
- リポジトリのドロップダウンを選択します。 
- + New を選択します。 
- 新しいブランチ名を指定し、 Create を選択します。 
別の支店に変更¶
保存はしたもののコミットしていない変更がある場合、ブランチを切り替える前にその変更をどのように扱うかを選択する必要があります。
- Snowsight にサインインします。 
- ナビゲーションメニューで Projects » Workspaces を選択します。 
- Git ワークスペース表示で、 Changes を選択します。 
- ブランチメニューから、切り替えたいブランチを選択します。 - ヒント:リストをフィルターするには、ブランチ名をタイプしてください。 
リモートブランチの取得¶
新しいブランチが Snowsight の外部 (たとえば Git プロバイダーで作成したものなど) で作成された場合は、 Fetch All オプションを使用して Git と同期したワークスペースに取り込むことができます。これで利用可能なリモートブランチのリストが更新されます。
- Snowsight にサインインします。 
- ナビゲーションメニューで Projects » Workspaces を選択します。 
- Git ワークスペース表示で、 Changes を選択します。 
- Pull メニューの横にある下向き矢印を選択し、 Fetch All を選択します。取得が終了すると、新しく作成されたリモートブランチがブランチリストに表示され、チェックアウトが可能になります。 
更新されたファイルの表示¶
最後にコミットしてプッシュしてから追加、削除、変更されたすべてのファイルを表示します。
- Snowsight にサインインします。 
- ナビゲーションメニューで Projects » Workspaces を選択します。 
- フォルダ表示の上部で、 Changes を選択します。変更されたファイルは M で示され、追加されたファイルは A で示され、削除されたファイルは D で示されます。 
- エディタで変更点の差分を視覚的に表示するには、ファイルを選択します。 
更新のコミットとプッシュ¶
変更内容を確認したら、ワークスペース内からコミットしてリモートの Git リポジトリにプッシュします。
更新したファイルをコミットしてリモートの Git リポジトリにプッシュします。
- Snowsight にサインインします。 
- ナビゲーションメニューで Projects » Workspaces を選択します。 
- フォルダ表示の上部にある Changes を選択します。 
- Commit message フィールドにコミットメッセージを書いてください。 
- Push を選択します。 
- コミットメッセージを書き、 Push を選択して Git リポジトリに更新をプッシュします。 - 注釈 - コンフリクトが検出された場合、最初にプルするよう促されます。コンフリクトのあるファイルのリストを確認するには、 Pull を選択します。 
コンフリクトの表示と解決¶
プッシュ中にコンフリクトが発生した場合、再度コミットする前にワークスペースで直接表示し、解決することができます。
- ワークスペースで、フォルダ表示の上部にある Changes を選択します。1つまたは複数のファイルが競合している場合、メッセージが表示の上部に表示されます。競合のあるファイルは、赤い M で示されます。 
- エディターでコンフリクトの差分を表示するには、ファイルを選択します。File with conflicts では、相違点はインラインで強調表示されます。 
- 現在の変更、入力された変更、または両方の変更を受け入れます。マージ結果が表示されます。 
- Diff View の下に、現在のバージョンとリモートバージョンを並べて表示することができます。 
- Accept all current または Accept all remote を選択します。 
- 競合を解決したら、 Push を選択します。 
- コミットメッセージを書いてください。 
- Push を選択します。 
キーボードのショートカット¶
ワークシートにはキーボードショートカットが用意されており、ビューのカスタマイズやクエリの編集を素早く行うことができます。次の表は、よく使用されるキーボードショートカットの識別子です。
| タスク | MacOS ショートカット | ウィンドウズショートカット | 
|---|---|---|
| 選択された実行 | command + return | CTRL + Enter | 
| すべて実行 | command + shift + return | CTRL + Alt + Enter | 
| ペインを水平方向に分割 | control + \ | CTRL + \ | 
| ペインを垂直方向に分割 | control + shift + \ | CTRL + Shift + \ | 
| フォーカスしたタブを閉じる | control + W | CTRL + W | 
| 選択したファイルをコピー | command + C | CTRL + C | 
| 選択したファイルを切り取る | command + X | CTRL + X | 
| 選択した場所にファイルを貼り付ける | command + V | CTRL + V | 
| クエリ結果ペインを開く | control + option + ↑ | CTRL + Alt + ↑ | 
| クエリ結果ペインを閉じる | control + option + ↓ | CTRL + Alt + ↓ | 
| インラインCopilotを開く | command + I | CTRL + I | 
| コードをコメントアウト | command + / | CTRL + / | 
| ファイルの一番上に移動 | command + ホーム または command + ↑ | CTRL + ホーム または CTRL + ↑ | 
| ファイルの一番下に移動 | command + end または command + ↓ | CTRL + End または CTRL + ↓ | 
アクセスと動作を管理する¶
ワークスペースへの移行を管理するための制御は、管理者に管理ロールアウトのためのいくつかのオプションを提供します。SQL クエリのデフォルトエディターを設定し、ワークスペース機能を無効にし、既存のセキュリティポリシーとの潜在的な競合に対処します。
デフォルトのエディターを設定または元に戻す¶
すべてのユーザーに対して、アカウント全体のデフォルトエディターをワークスペースに設定する場合
ALTER ACCOUNT SET USE_WORKSPACES_FOR_SQL = 'always';
この設定を戻して以前のデフォルトエディターを使用するが、ワークスペースをデフォルトにするSnowflake管理 BCR を尊重する場合
ALTER ACCOUNT UNSET USE_WORKSPACES_FOR_SQL;
以前のエディターに戻り、ワークスペースをデフォルトにするSnowflake管理 BCR を一時的に無視する場合
ALTER ACCOUNT SET USE_WORKSPACES_FOR_SQL = 'never';
注釈
ワークシートは最終的に非推奨になり、上記のコマンドは機能しなくなります。以前にこのパラメーターを設定していた場合は、ワークシートが非推奨になると自動的にクリアされます。Snowflakeは、廃止日が利用可能になったときに事前通知します。詳細については、 アカウントのデフォルト設定をワークシートからワークスペースに変更 をご参照ください。
ワークスペースを無効化¶
ワークスペースを無効にするには、 ENABLE_PERSONAL_DATABASE アカウントレベルパラメーターを FALSE にセットします:
ALTER ACCOUNT SET ENABLE_PERSONAL_DATABASE = FALSE;
このパラメーターには ACCOUNTADMIN 権限が必要です。FALSE にセットすると、ワークスペースは機能しなくなりますが、ワークスペースは Snowsight ナビゲーションメニューにリストされます。
Workspacesでセカンダリロールを有効にする必要はありませんが、セッションポリシーでセカンダリロールを明示的にブロックしている場合は、セッションポリシーが削除されるまで、現在の制限によってWorkspacesが機能しなくなります。
ドロップされたユーザーから ワークスペースを復元する¶
ユーザーがドロップされた場合でも、個人データベース(PDB)、およびそれらのワークスペース内のすべてのファイルは保持されます。その PDB はその後、:code:`DROPPED_USER$<dropped_user_name>_<timestamp>`に名前が変更されます。
注釈
ワークスペースの回復は、DROP コマンドを実行した個人に限定されません。同じロールを持つユーザーは、ワークスペースを回復できます。 PDB は、コマンドを開始したロールの下でその所有権を保持します。
ドロップされたユーザーの PDBからワークスペースを復元するには、次のステップに従います。
- 削除されたユーザーの PDBを見つけます。SHOW DATABASES コマンドと LIKE 関数を使用して、特定のデータベースを見つけます。 - SHOW DATABASES LIKE 'dropped_user%'; 
- PDBでワークスペースを表示します。利用可能なワークスペースを一覧表示するには、SHOWWORKSPACESINDATABASE コマンドを使用します。 - SHOW WORKSPACES IN DATABASE DROPPED_USER$dropped_user_1754344912; 
- 回復したものから新しいワークスペースを作成します。CREATEWORKSPACE ... FROM コマンドを使用して、回復したワークスペースから新しいワークスペースを作成します。 - これにより、コンテンツが新しい場所にコピーされ、アクセスできるようになります。 - 注釈 - USER$ 修飾子を使用して、ワークスペースを自分の個人データベースに配置する必要があります。それ以外の場合はエラーが発生します。データベース名の末尾のタイムスタンプはさまざまです。 - FROM 'snow://workspace/DROPPED_USER$dropped_user_1754344912.PUBLIC."to_be_recovered"/versions/head'; 
制限事項¶
- ワークスペースは共有に対応していません。 
- :doc:`クエリフィルター </user-guide/ui-snowsight-filters>`はサポートされていません。フィルターを含むクエリは失敗します。 
- ワークスペース ファイルは Universal Search の結果に含まれません。 
- 新しいワークスペース UI と古いワークシート UI で同じワークシートを同時に開いて編集すると、変更内容が失われることがあります。 
- ワークシートの場合、実行コンテキスト設定(ロール、ウェアハウス、名前空間)は、新しいワークスペース UI と古いワークシート UI の間で同期されません。