创建和管理文件夹

以下文档介绍了如何在 BigQuery 中创建和管理文件夹。您可以使用文件夹来整理和控制对单个文件代码资产(例如笔记本已保存的查询数据画布数据准备文件)的访问权限。 BigQuery 提供用户文件夹,供个人管理自己的代码资产;还提供团队文件夹,供团队管理其代码资产。

BigQuery 文件夹由 Dataform 提供支持。

在创建文件夹之前,请先阅读使用文件夹整理代码资产,了解 BigQuery 文件夹的工作原理。

准备工作

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. 所需的角色

    如需获得完成本文档中的任务所需的权限,请让管理员为您授予项目、文件夹或资源的相应 IAM 角色。

    如需获得使用 BigQuery 文件浏览器所需的权限,请让您的管理员为您授予项目的 BigQuery User (roles/bigquery.user) 或 BigQuery Studio User (roles/bigquery.studioUser) 角色。

    在文件夹上授予的权限会传播到其中包含的所有文件和文件夹。

    以下内容适用于文件及其所在的文件夹:

    角色 针对哪个(些)对象授予 权限和使用场景
    Code Owner (roles/dataform.codeOwner) 文件或文件夹 授予对文件和文件夹系统中的资源的完全控制权。具有此角色的用户可以执行所有操作,包括删除资源、设置其 IAM 政策和移动资源。
    Code Editor (roles/dataform.codeEditor) 文件或文件夹 允许编辑和管理内容。拥有此角色的用户可以向文件夹添加内容、修改文件以及获取文件或文件夹的 IAM 政策。移动资源时,目标文件夹也需要此角色。
    Code Commenter (roles/dataform.codeCommenter) 文件或文件夹 允许对代码资产或文件夹进行评论。
    Code Viewer (roles/dataform.codeViewer) 文件或文件夹 提供只读权限。具有此角色的用户可以查询文件和文件夹的内容。
    Code Creator (roles/dataform.codeCreator) 项目 授予在项目中创建新文件和文件夹的权限。

    以下角色专门用于管理团队文件夹:

    角色 针对哪个(些)对象授予 权限和使用场景
    Team Folder Owner (roles/dataform.teamFolderOwner) 团队文件夹 授予对文件和文件夹系统中的团队文件夹的完全控制权。拥有此角色的用户可以删除团队文件夹并设置其 IAM 政策。
    Team Folder Contributor (roles/dataform.teamFolderContributor) 团队文件夹 允许在团队文件夹中进行内容管理。具有此角色的用户可以更新团队文件夹。
    Team Folder Commenter (roles/dataform.teamFolderCommenter) 团队文件夹 允许对团队文件夹及其包含的代码资产进行评论。
    Team Folder Viewer (roles/dataform.teamFolderViewer) 团队文件夹 拥有对团队文件夹及其内容的只读权限。拥有此角色的用户可以查看团队文件夹并获取其 IAM 政策。
    Team Folder Creator (roles/dataform.teamFolderCreator) 项目 授予在项目中创建新团队文件夹的权限。

    如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

    这些预定义角色包含完成本文档中的任务所需的权限。如需查看所需的确切权限,请展开所需权限部分:

    所需权限

    • 创建文件夹:
      • 针对父级用户文件夹、团队文件夹或项目的 folders.create 权限
      • 父文件夹或团队文件夹的 folders.addContents 权限
    • 检索文件夹的属性:文件夹上的 folders.get
    • 查询文件夹或团队文件夹的内容:点击文件夹上的 folders.queryContents
    • 更新文件夹:针对文件夹的 folders.update 权限
    • 删除文件夹:点按文件夹上的 folders.delete
    • 获取文件夹的 IAM 政策:针对文件夹的 folders.getIamPolicy 权限
    • 为文件夹设置 IAM 政策:folders.setIamPolicy 在文件夹上
    • 移动文件夹:
      • folders.move 权限
      • 目标文件夹或团队文件夹的 folders.addContents 权限(如果移动到根文件夹,则不需要此权限)
    • 创建团队文件夹:项目的 teamFolders.create 权限
    • 删除团队文件夹:点击团队文件夹上的 teamFolders.delete
    • 获取团队文件夹的 IAM 政策:团队文件夹的 teamFolders.getIamPolicy 权限
    • 为团队文件夹设置 IAM 政策:teamFolders.setIamPolicy 在团队文件夹上
    • 检索团队文件夹的属性:点击团队文件夹上的 teamFolders.get
    • 更新团队文件夹:点击团队文件夹上的 teamFolders.update

    您也可以使用自定义角色或其他预定义角色来获取这些权限。

    如需获得对项目中的所有文件夹和文件的完全访问权限,请让您的管理员为您授予项目的以下 IAM 角色:

    查看资源

    如需在 BigQuery 中查看文件夹和代码资产,请按以下步骤操作:

    1. 转到 BigQuery 页面。

      转到 BigQuery

    2. 点击 文件打开文件浏览器:

      点击“文件”打开文件浏览器。

    3. 执行以下任一操作,以查看所选项目和代码区域中的文件夹和代码资产:

      • 展开用户(您的邮箱)节点,查看您创建的文件夹和文件。
      • 展开团队文件夹节点,以查看您有权访问的所有团队文件夹。
      • 展开与我共享节点,查看其他用户与您共享的所有文件夹和文件。

    更改代码区域

    您可以在不同的代码区域中放置文件夹和代码资产。 如需更改您查看的代码区域,请按以下步骤操作:

    1. 转到 BigQuery 页面。

      转到 BigQuery

    2. 点击 文件打开文件浏览器:

      点击“文件”打开文件浏览器。

    3. 在项目名称旁边,依次点击 查看“文件”面板操作 > 切换代码区域

    4. 选择要查看的代码区域。

    5. 点击保存

    创建文件夹或代码资产

    您可以使用此过程创建以下任一资源:

    • 任何级别的用户文件夹或代码资产。
    • 团队文件夹中的子文件夹。
    • 团队文件夹子文件夹中的代码资产。

    如需了解如何创建团队文件夹,请参阅创建团队文件夹

    如需在 BigQuery 中创建文件夹或代码资产,请按以下步骤操作:

    1. 转到 BigQuery 页面。

      转到 BigQuery

    2. 点击 文件打开文件浏览器:

      点击“文件”打开文件浏览器。

    3. 选择用户根节点或要在其中创建资源的文件夹。

    4. 依次点击 查看操作 > 创建,然后选择要创建的资源类型。

    5. 在“创建资源”窗格中,输入新资源的名称。

    6. 点击保存

    创建团队文件夹

    如需在 BigQuery 中创建团队文件夹,请按以下步骤操作:

    1. 转到 BigQuery 页面。

      转到 BigQuery

    2. 点击 文件打开文件浏览器:

      点击“文件”打开文件浏览器。

    3. 选择团队文件夹根节点。

    4. 依次点击 查看操作 > 创建团队文件夹

    5. 创建团队文件夹对话框中,输入团队文件夹的名称。

    6. 点击创建

    上传代码资产

    如需在 BigQuery 中上传代码资产,请按以下步骤操作:

    1. 转到 BigQuery 页面。

      转到 BigQuery

    2. 点击 文件打开文件浏览器:

      点击“文件”打开文件浏览器。

    3. 选择要将代码资产上传到的文件夹。

    4. 依次点击 查看操作 > 上传,然后选择要上传的代码资产类型。

    5. 在上传资源窗格中,执行以下操作之一:

      • 点击文件上传单选按钮,然后浏览并选择本地文件。
      • 点击 网址 单选按钮,然后输入 GitHub 代码库中代码资产文件的网址。
    6. 为代码资产输入一个名称。

    7. 可选:选择用于存储代码资产的区域。如果您选择的区域与默认值不同,则所选区域将成为默认区域,所有新的代码资产都将在此区域中创建。

    8. 点击保存

    下载代码资产

    如需在 BigQuery 中下载代码资产,请按以下步骤操作:

    1. 转到 BigQuery 页面。

      转到 BigQuery

    2. 点击 文件打开文件浏览器:

      点击“文件”打开文件浏览器。

    3. 选择要下载的代码资产。

    4. 依次点击 查看操作 > 下载

    重命名文件夹或代码资产

    如需在 BigQuery 中重命名文件夹或代码资产,请按以下步骤操作:

    1. 转到 BigQuery 页面。

      转到 BigQuery

    2. 点击 文件打开文件浏览器:

      点击“文件”打开文件浏览器。

    3. 选择要重命名的文件夹或代码资产。

    4. 依次点击 查看操作 > 重命名

    5. 在资源重命名对话框中,为资源输入一个新名称。

    6. 点击重命名

    共享文件夹或代码资产

    如需在 BigQuery 中共享文件夹或代码资产,请按以下步骤操作:

    1. 转到 BigQuery 页面。

      转到 BigQuery

    2. 点击 文件打开文件浏览器:

      点击“文件”打开文件浏览器。

    3. 选择要共享的文件夹或代码资产。

    4. 管理权限窗格中,点击添加用户/群组

    5. 新的主账号字段中,输入主账号。

    6. 执行下列其中一项操作:

    7. 点击保存

    8. 如需返回笔记本信息页面,请点击关闭

    移动文件夹或代码资产

    如需在 BigQuery 中移动文件夹或代码资产,请按以下步骤操作:

    1. 转到 BigQuery 页面。

      转到 BigQuery

    2. 点击 文件打开文件浏览器:

      点击“文件”打开文件浏览器。

    3. 选择要移动的文件夹或代码资产。

    4. 依次点击 查看操作 > 移动

    5. 在“移动资源”对话框中,选择要将资源移动到的用户或团队文件夹。

    6. 点击移动

    复制文件夹或代码资产

    如需在 BigQuery 中复制文件夹或代码资产,请按以下步骤操作:

    1. 转到 BigQuery 页面。

      转到 BigQuery

    2. 点击 文件打开文件浏览器:

      点击“文件”打开文件浏览器。

    3. 选择要复制的文件夹或代码资产。

    4. 依次点击 查看操作 > 复制

    5. 在“复制资源”对话框中,选择要将资源复制到的用户或团队文件夹。

    6. 点击复制

    删除文件夹或代码资产

    如需在 BigQuery 中删除文件夹或代码资产,请按以下步骤操作:

    1. 转到 BigQuery 页面。

      转到 BigQuery

    2. 点击 文件打开文件浏览器:

      点击“文件”打开文件浏览器。

    3. 选择要删除的文件夹或代码资产。

    4. 点击 查看操作 > 删除

    5. 在删除资源对话框中,点击删除

    后续步骤