保存和共享查询

本页介绍了如何保存和共享查询。保存或共享的查询仅包含查询本身,这意味着:

  • 共享的查询仅提供查询文本。您仍需要具有相应的访问权限才能查询数据。仅保存查询文本的一个好处是,您可以共享不完整的查询(即使它不是有效查询),并可以将其用作模板,以供其他用户完成或自定义。

  • 保存的查询唯一保留的一个查询选项是“SQL 版本”,它控制查询使用旧版 SQL 还是标准 SQL。

保存的查询有以下 3 种类型:

  • 不公开:保存的不公开查询仅对创建它们的用户可见。
  • 项目级:已保存的项目级查询对被指定了具有所需权限的预定义 BigQuery IAM 角色的成员可见。
  • 公开:已保存的公开查询对所有知道查询链接的人员可见。

权限

必须拥有以下 IAM 权限才能创建、查看、更新和删除已保存的查询:

  • 已保存的不公开查询:
    • 创建已保存的不公开查询无需任何特殊权限。您可以在任何项目中保存不公开的查询,但只有您才能查看、更新或删除它们。
  • 已保存的项目级层查询:
    • 创建已保存的项目级层查询需要具有 bigquery.savedqueries.create 权限。bigquery.admin 预定义角色可提供 bigquery.savedqueries.create 权限。
    • 查看已保存的项目级层查询需要具有 bigquery.savedqueries.getbigquery.savedqueries.list 权限。 bigquery.adminbigquery.user 预定义角色可提供 bigquery.savedqueries.getbigquery.savedqueries.list 权限。
    • 更新已保存的项目级层查询需要具有 bigquery.savedqueries.update 权限。bigquery.admin 预定义角色可提供 bigquery.savedqueries.update 权限。
    • 删除已保存的项目级层查询需要具有 bigquery.savedqueries.delete 权限。bigquery.admin 预定义角色可提供 bigquery.savedqueries.delete 权限。
  • 已保存的公开查询:
    • 创建公开查询无需任何特殊权限。您可以在任何项目中保存公开查询,但只有您才能更新或删除它们。知道链接的任何人都可以查看保存的公开查询。

如需详细了解 BigQuery 中的 IAM 角色,请参阅预定义的角色和权限

创建不公开的保存查询

保存查询并将公开范围设置为不公开后,只有您可以对其执行查看、更新或删除操作。

要创建不公开的共享查询,请执行以下操作:

控制台

  1. 在 Cloud Console 中打开 BigQuery 页面。

    转到 BigQuery 页面

  2. 点击编写新查询

  3. 查询编辑器文本区域中输入有效的 SQL 查询。 例如,您可以使用 Cloud Console 快速入门中的查询。

    # Find highest birth weights
    SELECT
     weight_pounds, state, year, gestation_weeks
    FROM
     `bigquery-public-data.samples.natality`
    ORDER BY weight_pounds DESC LIMIT 10
  4. 点击保存查询

  5. 保存查询对话框中,为您的查询输入一个名称,再将公开范围设置为个人(只能由您修改),然后点击保存

  6. 要查看已保存的查询,请点击已保存的查询。 默认情况下,系统会打开个人查询页面。

共享已保存的查询

您可以使用“项目”公开范围或“公开”公开范围共享查询。如果将公开范围设置为“项目”,则其预定义 BigQuery IAM 角色拥有所需权限的成员可以查看、更新或删除该查询。

如果将公开范围设置为“公开”,知道查询链接的任何人都可以查看该查询,但无法执行更新或删除操作。要运行查询,用户必须有权访问相应查询所访问的数据。如需了解详情,请参阅控制对数据集的访问权限

共享查询时,不妨考虑添加描述查询的评论,如下文的示例所示。

创建项目级层的保存查询

如需与项目的其他成员共享查询,请执行以下操作:

控制台

  1. 在 Cloud Console 中打开 BigQuery 页面。

    转到 BigQuery 页面

  2. 点击编写新查询

  3. 查询编辑器文本区域中输入有效的 BigQuery SQL 查询。 例如,您可以使用 Cloud Console 快速入门中的查询。

    # Find highest birth weights
    SELECT
     weight_pounds, state, year, gestation_weeks
    FROM
     `bigquery-public-data.samples.natality`
    ORDER BY weight_pounds DESC LIMIT 10
  4. 保存下拉列表中,选择保存查询

  5. 保存查询对话框中,为您的查询输入一个名称,再将公开范围设置为项目(可由项目成员修改),然后点击保存

  6. 要查看已保存的查询,请单击已保存的查询

  7. 点击已保存的查询名称,以将其展开。

  8. 点击共享查询网址,以访问可共享的链接并将该链接复制到剪贴板。或者,您也可以通过点击查询编辑器文本区域上方的链接共享来访问链接。

  9. 与团队中的其他成员共享链接。

创建公开的保存查询

如需与所有人共享查询,请执行以下操作:

控制台

  1. 在 Cloud Console 中打开 BigQuery 页面。

    转到 BigQuery 页面

  2. 点击编写新查询

  3. 查询编辑器文本区域中输入有效的 SQL 查询。 例如,您可以使用 Cloud Console 快速入门中的查询。

    # Find highest birth weights
    SELECT
     weight_pounds, state, year, gestation_weeks
    FROM
     `bigquery-public-data.samples.natality`
    ORDER BY weight_pounds DESC LIMIT 10
  4. 点击保存查询

  5. 保存查询对话框中,为您的查询输入一个名称,再将公开范围设置为个人(只能由您修改),然后点击保存

  6. 要查看已保存的查询,请点击已保存的查询。 默认情况下,系统会打开个人查询页面。

  7. 点击已保存的查询名称,以将其展开。

  8. 启用链接共享,以访问可共享的链接并将该链接复制到剪贴板。或者,您也可以通过点击查询编辑器文本区域上方的链接共享来访问链接。

  9. 共享链接。

更新已保存的查询

如需更新已保存的查询,请执行以下操作:

控制台

  1. 在 Cloud Console 中打开 BigQuery 页面。

    转到 BigQuery 页面

  2. 点击左侧导航栏中的已保存的查询,然后点击个人查询(如果要修改不公开的查询)或项目查询(如果要修改项目级查询)。点击您的查询以将其展开。

  3. 点击该查询右侧的在编辑器中打开查询

    更新查询

  4. 修改查询。

  5. 点击保存查询,以更新该查询而不更改其名称。如果您想要更改查询名称,请点击保存查询旁边的向下箭头,然后选择另存为,并根据需要在对话框中进行更新。

删除已保存的查询

如需删除已保存的查询,请执行以下操作:

控制台

  1. 在 Cloud Console 中打开 BigQuery 页面。

    转到 BigQuery 页面

  2. 点击左侧导航栏中的已保存的查询,然后点击个人查询(如果要删除不公开的查询)或项目查询(如果要删除项目级查询)。点击您的查询以将其展开。

  3. 点击该查询右侧的删除

    删除查询

  4. 出现提示时,点击删除以确认删除该查询。