创建和管理文件夹
以下文档介绍了如何在 BigQuery 中创建和管理文件夹。您可以使用文件夹来整理和控制对单个文件代码资产(例如笔记本、已保存的查询、数据画布和数据准备文件)的访问权限。 BigQuery 提供用户文件夹,供个人管理自己的代码资产;还提供团队文件夹,供团队管理其代码资产。
BigQuery 文件夹由 Dataform 提供支持。
在创建文件夹之前,请先阅读使用文件夹整理代码资产,了解 BigQuery 文件夹的工作原理。
准备工作
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles. -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles. - 创建文件夹:
- 针对父级用户文件夹、团队文件夹或项目的
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 - Dataform Admin
(
roles/dataform.admin) - Dataform Editor
(
roles/dataform.editor) - Dataform Viewer
(
roles/dataform.viewer) 转到 BigQuery 页面。
点击 文件打开文件浏览器:
执行以下任一操作,以查看所选项目和代码区域中的文件夹和代码资产:
- 展开用户(您的邮箱)节点,查看您创建的文件夹和文件。
- 展开团队文件夹节点,以查看您有权访问的所有团队文件夹。
- 展开与我共享节点,查看其他用户与您共享的所有文件夹和文件。
转到 BigQuery 页面。
点击 文件打开文件浏览器:
在项目名称旁边,依次点击 查看“文件”面板操作 > 切换代码区域。
选择要查看的代码区域。
点击保存。
- 任何级别的用户文件夹或代码资产。
- 团队文件夹中的子文件夹。
- 团队文件夹子文件夹中的代码资产。
转到 BigQuery 页面。
点击 文件打开文件浏览器:
选择用户根节点或要在其中创建资源的文件夹。
依次点击 查看操作 > 创建,然后选择要创建的资源类型。
在“创建资源”窗格中,输入新资源的名称。
点击保存。
转到 BigQuery 页面。
点击 文件打开文件浏览器:
选择团队文件夹根节点。
依次点击 查看操作 > 创建团队文件夹。
在创建团队文件夹对话框中,输入团队文件夹的名称。
点击创建。
转到 BigQuery 页面。
点击 文件打开文件浏览器:
选择要将代码资产上传到的文件夹。
依次点击 查看操作 > 上传,然后选择要上传的代码资产类型。
在上传资源窗格中,执行以下操作之一:
- 点击文件上传单选按钮,然后浏览并选择本地文件。
- 点击 网址 单选按钮,然后输入 GitHub 代码库中代码资产文件的网址。
为代码资产输入一个名称。
可选:选择用于存储代码资产的区域。如果您选择的区域与默认值不同,则所选区域将成为默认区域,所有新的代码资产都将在此区域中创建。
点击保存。
转到 BigQuery 页面。
点击 文件打开文件浏览器:
选择要下载的代码资产。
依次点击 查看操作 > 下载。
转到 BigQuery 页面。
点击 文件打开文件浏览器:
选择要重命名的文件夹或代码资产。
依次点击 查看操作 > 重命名。
在资源重命名对话框中,为资源输入一个新名称。
点击重命名。
转到 BigQuery 页面。
点击 文件打开文件浏览器:
选择要共享的文件夹或代码资产。
在管理权限窗格中,点击添加用户/群组。
在新的主账号字段中,输入主账号。
执行下列其中一项操作:
在角色列表中,选择以下角色之一,以共享代码资产(包括用户文件夹):
roles/dataform.codeOwner:可以对代码资产执行任何操作,包括删除或共享代码资产。roles/dataform.codeEditor:可以对代码资产执行任何操作,但无法删除或共享代码资产。roles/dataform.codeCommenter:可以查看代码资产并添加评论。roles/dataform.codeViewer:可以查看代码资产。
在角色列表中,选择以下角色之一以共享团队文件夹:
roles/dataform.teamFolderOwner:可以对团队文件夹执行任何操作,包括删除或共享团队文件夹。roles/dataform.teamFolderContributor:可以对团队文件夹执行任何操作,但无法删除或共享该文件夹。roles/dataform.teamFolderCommenter:可以查看团队文件夹及其包含的代码资产,并添加评论。roles/dataform.teamFolderViewer:可以查看团队文件夹及其包含的代码资产。
点击保存。
如需返回笔记本信息页面,请点击关闭。
转到 BigQuery 页面。
点击 文件打开文件浏览器:
选择要移动的文件夹或代码资产。
依次点击 查看操作 > 移动。
在“移动资源”对话框中,选择要将资源移动到的用户或团队文件夹。
点击移动。
转到 BigQuery 页面。
点击 文件打开文件浏览器:
选择要复制的文件夹或代码资产。
依次点击 查看操作 > 复制。
在“复制资源”对话框中,选择要将资源复制到的用户或团队文件夹。
点击复制。
转到 BigQuery 页面。
点击 文件打开文件浏览器:
选择要删除的文件夹或代码资产。
点击 查看操作 > 删除。
在删除资源对话框中,点击删除。
所需的角色
如需获得完成本文档中的任务所需的权限,请让管理员为您授予项目、文件夹或资源的相应 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) |
项目 | 授予在项目中创建新团队文件夹的权限。 |
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含完成本文档中的任务所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需获得对项目中的所有文件夹和文件的完全访问权限,请让您的管理员为您授予项目的以下 IAM 角色:
查看资源
如需在 BigQuery 中查看文件夹和代码资产,请按以下步骤操作:
更改代码区域
您可以在不同的代码区域中放置文件夹和代码资产。 如需更改您查看的代码区域,请按以下步骤操作:
创建文件夹或代码资产
您可以使用此过程创建以下任一资源:
如需了解如何创建团队文件夹,请参阅创建团队文件夹。
如需在 BigQuery 中创建文件夹或代码资产,请按以下步骤操作:
创建团队文件夹
如需在 BigQuery 中创建团队文件夹,请按以下步骤操作:
上传代码资产
如需在 BigQuery 中上传代码资产,请按以下步骤操作:
下载代码资产
如需在 BigQuery 中下载代码资产,请按以下步骤操作:
重命名文件夹或代码资产
如需在 BigQuery 中重命名文件夹或代码资产,请按以下步骤操作:
共享文件夹或代码资产
如需在 BigQuery 中共享文件夹或代码资产,请按以下步骤操作:
移动文件夹或代码资产
如需在 BigQuery 中移动文件夹或代码资产,请按以下步骤操作:
复制文件夹或代码资产
如需在 BigQuery 中复制文件夹或代码资产,请按以下步骤操作:
删除文件夹或代码资产
如需在 BigQuery 中删除文件夹或代码资产,请按以下步骤操作: