Snowflake では、ワークスペースと呼ばれる新しいファイルエディタが導入されました。
これにより、フォルダによるファイル整理が容易になります。データベースエクスプローラーとクエリ履歴ペインも搭載されているため、データベースオブジェクトの探索やクエリの検査も容易になります。
ワークスペースには、(プライベート) ワークスペースと共有ワークスペースの 2 種類があります。
(プライベート) ワークスペース
- ワークスペース所有者専用(所有者のみがワークスペースファイルを表示およびアクセスできます)。
- ワークスペースは、自動的に作成されるユーザー固有のデータベースに保存されます。このデータベースには、プライベートワークスペースのみが保存され、それ以外のファイルは保存されません。
- あらゆる種類のファイル(SQL ファイル、Python ファイル、JavaScript、シェルファイルなど)を作成できます。
- フォルダの作成とネストが可能です。ファイルのドラッグ&ドロップも可能です。
- AI Copilot が有効になっています。
- バージョン管理(git、github)を使用してバージョン履歴を管理できます。
まもなく、ワークスペースはSnowflakeのデフォルトエディターになります。
共有ワークスペース
プライベートワークスペースと同じですが、2つの違いがあります。
- 共有ワークスペースは、テーブルなどの他のオブジェクトも保存する通常のデータベース上に作成できます。
ワークスペースの作成者は、ワークスペースを作成するデータベースとスキーマを選択できます。 - 共有ワークスペースには複数のユーザーがアクセスできます。アクセスはロールによって管理されます。
あるユーザーが共有ワークスペースのファイルを変更すると、他のユーザーもそれを閲覧できます。
ユーザーは、自分のプライベートワークスペースからファイルを共有ワークスペースに持ち込むことができます。
使用方法
共有ワークスペースエディターは、リアルタイムのマルチユーザー編集をサポートしていません。
あるユーザーがファイルの編集を開始すると、そのファイルのコピーが下書きとして取得されます。変更内容はそのユーザーのみに表示されます。変更されたファイルを公開すると、他のユーザーにも変更内容が表示されます。
ファイルやフォルダのアップロード、名前変更、削除などの変更は、公開する必要はありません。
ファイルを公開する前に、「差分を表示」機能を使用して、下書きと最新の公開バージョンを比較できます。
共有ワークスペースには、すべてのバージョン履歴が保存されます。ファイルの古いバージョンを確認したり、ファイルを以前のバージョンに戻したりすることができます。
基本的に、共有ワークスペースのワークフローは Gitのワークフローと非常に似ています。
- ユーザーは、他のチームメンバーに変更内容を表示するには、変更を公開(プッシュ)する必要があります。
- ユーザー A がファイルを編集しているときに、ユーザー B が同じファイルを変更してプッシュした場合、ユーザー A が変更を公開しようとすると競合が発生する可能性があります。
- ワークスペースにはバージョン履歴が保存されており、古いバージョンを復元できます。
権限とアクセス制御
共有ワークスペースでは、ロールベースのアクセス制御が使用されます。
共有ワークスペースを作成するには、ロールに以下のいずれかの権限が必要です。
- データベースとスキーマに対する「USAGE」権限と「CREATE WORKSPACE」権限
- 対象スキーマに対する「OWNERSHIP」権限
共有ワークスペースへのアクセスの付与と取り消し
ワークスペースへのアクセスの付与と取り消しは、GUI と SQL コマンドの両方で行うことができます。
グラフィカルユーザーインターフェース:
「Configure workspace」設定を使用して、ロールを追加および削除し、それらのロールに共有ワークスペースへのアクセスを付与または取り消すことができます。
SQL コマンドを使用する場合:
GRANT WRITE ON WORKSPACE <workspace_name> TO ROLE <role_name>;
REVOKE WRITE ON WORKSPACE <workspace_name> FROM ROLE <role_name>;
ロールには、WRITE 権限に加えて、共有ワークスペースが配置されているデータベースに対する USAGE 権限も必要です。
Comments
Post a Comment