共享工作区

概述

标准 Snowflake 工作区为个人开发提供环境,可以创建为私有工作区或连接到 Git 存储库。

You can also create a shared workspace to share with specific roles. Shared workspaces introduce a new model for team-based collaboration directly within Snowflake. Instead of sharing individual files, users can create dedicated spaces where work is organized, versioned, and shared with roles that represent teams or groups.

工作区类型

目的

存储位置

专用

个人开发的默认模式。非常适合临时探索性数据分析 (EDA)、管理任务和专用项目。

用户的个人数据库 (PDB)

Git 同步

连接到 Git 存储库的专用工作区。非常适合生产工作负载和复杂的多文件项目。

用户的 PDB,同步到外部 Git 存储库

已共享

使用 wiki 风格的草稿和发布模型进行多用户协作。共享为数据库和架构中的 RBAC 架构对象。

标准数据库和架构

共享工作区功能

共享工作区是在特定数据库和架构中创建的,该数据库和架构向多个经过身份验证的用户授予访问权限。然后,分配了特定角色的用户可以在环境中同时贡献、编辑和修改代码和文件。

有权访问共享工作区的用户可以执行以下操作:

  • 查看和编辑共享工作区的内容。

  • 使用自己的访问权限运行查询。

  • 与其他授权用户协作编辑文件。

  • 将文件和文件夹从其任何专用工作区移动或复制到共享工作区。此功能允许用户将现有工作集成到团队环境中。

创建共享工作区

Shared workspaces are created within a specific database and schema that the user has access to. To create a shared workspace, the user must have one of the following privileges:

  • Option 1: The CREATE WORKSPACE privilege on the destination schema and the USAGE privilege on the destination database.

    GRANT USAGE ON DATABASE <database_name> TO ROLE <role_name>;
    GRANT CREATE WORKSPACE ON SCHEMA <database_name>.<schema_name> TO ROLE <role_name>;
    
    Copy

    备注

    USAGE 权限适用于数据库本身(而非架构)。CREATE WORKSPACE 权限适用于该数据库内的架构。

  • Option 2: The OWNERSHIP privilege on the destination schema.

共享工作区可以与具有以下权限的角色共享:对共享工作区所在数据库的 USAGE 权限。

要创建共享工作区,请执行以下步骤:

  1. 登录 Snowsight

  2. 在导航菜单中,选择 Projects » Workspaces

  3. Workspaces 菜单中,在 Create 部分选择 Shared workspace

  4. 指定共享工作区名称。

  5. 为工作区选择共享数据库和架构。

  6. 指定要与之共享工作区的角色。

  7. 添加完角色后选择 Create

访问和筛选共享工作区

您可以使用 Workspaces 菜单导航、筛选和搜索工作区。

  1. 登录 Snowsight

  2. 在导航菜单中,选择 Projects » Workspaces

  3. 选择 Workspaces 菜单。该菜单显示所有可访问工作区的列表。

  4. 使用列表顶部的筛选器按钮细化工作区列表:
    • All – 查看您有权访问的所有工作区,包括专用工作区和共享工作区。

    • Private – 仅显示您专用的工作区。

    • Shared – 仅显示已与您共享的工作区。

  5. 要搜索工作区,请开始在 Search field (由放大镜图标表示)中输入工作区名称。该列表会动态筛选,仅显示与搜索查询匹配的工作区。

  6. 选择要打开的工作区的名称。当前活动工作区旁边会出现一个复选标记。

在工作区中共享文件和文件夹

有两种方法可以与其他用户共享专用工作区中的文件和文件夹:

  • 将工作区列表中的文件或文件夹 MoveCopy 到共享工作区。

  • 点击 Share 可共享在工作区编辑器中打开的单个文件。

要从工作区列表中移动或复制文件或文件夹,请执行以下操作:

  1. 登录 Snowsight

  2. 在导航菜单中,选择 Projects » Workspaces

  3. 在工作区列表中选择要移动或复制的文件或文件夹。

  4. 为所选项目选择省略号 更多选项

  5. 选择 Copy toMove

  6. 在显示的对话框中,为项目选择共享工作区目标。

  7. 选择 Copy to destinationMove

备注

您还可以将文件复制并移动到另一个专用工作区。

要共享当前在工作区编辑器中打开的文件,请执行以下操作:

  1. 登录 Snowsight

  2. 在导航菜单中,选择 Projects » Workspaces

  3. 在编辑器中当前打开的文件中,点击右上角的 Share

  4. 从下拉列表中,您可以:

    • Move file to shared workspace:选择使用 时默认使用的角色和仓库。选择目标,然后选择 Move。仅显示共享工作区。

    • Copy URL:选择使用 时默认使用的角色和仓库。复制文件的唯一 URL 到剪贴板。仅当文件位于共享工作区中时,此选项才可用。任何有权访问该共享工作区的用户都可以使用此 URL 直接打开文件及其包含的工作区,从而高效地共享特定文件。如果文件被删除或重命名,URL 将不再有效。

    • Copy code:选择使用 时默认使用的角色和仓库。将文件内容复制到剪贴板。

    • Download:选择使用 时默认使用的角色和仓库。将文件下载到您的计算机。

移动或复制后,文件或文件夹将在共享工作区中发布,并立即对所有具有访问权限的协作者可见。

管理对共享工作区的访问

  1. 登录 Snowsight

  2. 在导航菜单中,选择 Projects » Workspaces

  3. 在要管理的共享工作区旁边,选择省略号 更多选项

    从省略号菜单中选择配置工作区。
  4. 选择 Configure workspace

  5. Configure workspace 对话框中,选择 Location & access 选项卡。在此选项卡中,您可以:

  • 通过选择垃圾桶图标,移除授予用户的角色。

  • 添加新角色以访问共享工作区。要筛选列表,请开始输入角色名称。

在共享工作区中协作

共享工作区使用 wiki 风格的协作模型来管理变更:

概念

描述

草稿状态

当您开始编辑文件时,您的更改将进入草稿状态。该文件不会自动更新其他协作者所做的更改,只有您能看到自己的编辑内容。

发布

要使所有其他协作者都能看到您所做的更改,您必须发布该文件。这是一个按文件执行的操作,用于更新共享版本。

版本历史

对于任何文件,您可以将鼠标悬停在时钟图标上,查看谁发布了最后一个版本(适用于已发布的文件和草稿)。

访问共享工作区时,您会自动看到所有文件的最新发布版本。唯一的例外是当前处于草稿状态的任何文件。

备注

文件树上的某些操作不需要单独的发布操作,并且对所有协作者立即可见。这些操作包括上传、重命名和删除文件和/或文件夹。

要在共享工作区中进行协作,请按照以下步骤操作:

  1. 登录 Snowsight

  2. 在导航菜单中,选择 Projects » Workspaces

  3. 打开工作区并进行更新。

  4. 选择 Publish。您的更改已发布,该文件已对所有协作者更新。

    备注

    如果其他用户删除了包含草稿(或其父文件夹之一)的文件,则在发布时系统将提示您重新创建该文件(及其文件夹路径)。

在共享工作区中协作时,可以对处于草稿状态的文件执行以下操作:

  • 查看差异 – 选择 Show differences 即可在并排比较视图中将当前的本地草稿与最新发布的版本进行比较。查看草稿与最新发布版本之间所做的所有更改。在此视图中,您可以将右侧已发布版本中的代码复制到左侧的草稿中。

  • 放弃更改 – 选择 Publish changes 下拉列表并选择 Discard 即可永久删除未发布的草稿编辑,并将文件恢复到上次发布的版本。系统会提示您确认。

  • 查看版本历史记录 – 将鼠标悬停在文件上的时钟图标上,以识别更新文件的最后一个用户,无论您是否有活动草稿。此信息适用于已发布的文件和草稿。

解决冲突

如果在您处理草稿时,其他用户发布了该文件的某个版本,则在您尝试发布时,系统将提示您采取措施:

  • 选择 Overwrite 可覆盖其他用户发布的版本,使您的版本成为最新发布的版本。

  • 选择 Cancel 可退出,然后选择 Discard。您的编辑将被丢弃,其他用户的版本现在是最新发布的版本。

  • 选择 Show differences 可在发布更改之前查看并排视图以解决冲突。

查看发布历史记录

在共享工作区中更新文件后,您可以通过查看文件的发布历史记录来恢复到文件的先前版本。

  1. 登录 Snowsight

  2. 在导航菜单中,选择 Projects » Workspaces

  3. 打开要检查或从其发布历史记录中恢复的文件。

  4. 选择 Publish changes 下拉列表,然后选择 View publish history

  5. 在右侧面板中,点击时间戳浏览不同版本。

  6. 通过选择 :ui:`All`(查看每个版本)、:ui:`By me`(查看您自己的更新),或者 :ui:`By others`(查看协作者所做的更改)来筛选版本列表。

  7. 选择特定时间戳,即可在左侧面板中预览版本。

  8. 找到要恢复到的版本后,选择该版本,然后选择 Restore this version

  9. 选择 Restore and publish 以确认。文件在编辑器中打开,您可以选择发布此版本或继续编辑。

语言: 中文