管理数据交换

作为 Analytics Hub 管理员,您可以执行以下任务:

  • 创建、更新和删除数据交换。
  • 创建、更新、删除和共享清单。
  • 管理 Analytics Hub 管理员,清单管理员、发布者、订阅者和查看者。

默认情况下,数据交换是不公开的,只有有权访问该交换的用户或群组才能查看或订阅数据。但是,如果您希望清单能够由 Google Cloud 用户 (allauthenticated 用户)发现订阅,您便可以请求公开您的数据交换

准备工作

要开始使用 Analytics Hub,您需要在 Google Cloud 项目中启用 Analytics Hub API。

所需权限

要启用 Analytics Hub API,您需要以下 Identity and Access Management (IAM) 权限:

  • serviceUsage.services.get/list 用于在 Cloud Console 中查看 API
  • serviceUsage.services.enable(用于启用 API)

以下预定义的 IAM 角色均包含启用 Analytics Hub API 所需的权限:

  • roles/editor
  • roles/owner
  • roles/serviceusage.serviceUsageAdmin

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

启用 Analytics Hub API

如需启用 Analytics Hub API,请执行以下操作:

控制台

转到 Google Cloud 项目的 Analytics Hub API 并启用。

启用 Analytics Hub API

gcloud

运行 gcloud services enable 命令:

gcloud services enable analyticshub.googleapis.com

所需权限

如需管理数据交换,您必须具有 Analytics Hub Admin 角色 (roles/analyticshub.admin)。如需了解详情,请参阅 Analytics Hub Admin 角色。如需了解如何向其他用户授予此角色,请参阅创建 Analytics Hub 管理员

创建数据交换

如需创建数据交换,请按以下步骤操作:

控制台

  1. 在 Google Cloud Console 中,转到 Analytics Hub 页面。

    转到 Analytics Hub

  2. 点击 创建交换

  3. 创建交换对话框中,选择数据交换的项目区域。创建数据交换后,您便无法更新项目和区域。

  4. 显示名称部分,输入数据交换的名称。

  5. 可选:在以下字段中输入值:

    • 主要联系人:输入数据交换的主要联系人的网址或电子邮件地址。
    • 说明:输入数据交换的说明。
  6. 点击创建交换

  7. 可选:在交换权限部分,执行以下步骤:

    1. 在以下字段中输入电子邮件地址,以授予 Analytics Hub 用户角色:

    2. 如需保存权限,请点击设置权限

  8. 如果您没有为数据交换设置权限,请点击跳过

API

使用 projects.locations.dataExchanges.create 方法

POST https://analyticshub.googleapis.com/v1beta1/projects/PROJECT_ID/location/LOCATION/dataExchanges?dataExchangeId=DATAEXCHANGE_ID

替换以下内容:

  • PROJECT_ID:要在其中创建数据交换的项目的 ID。
  • LOCATION:数据交换的位置。您可以指定 USEU。如需详细了解支持 Analytics Hub 的位置,请参阅位置
  • DATAEXCHANGE_ID:您的数据交换的 ID。

在请求正文中,提供数据交换详细信息。如果请求成功,则响应正文会包含数据交换的详细信息。

如需详细了解您可以使用 API 针对数据交换执行的任务,请参阅 projects.locations.dataExchanges 方法

更新数据交换

如需更新数据交换,请按以下步骤操作:

控制台

  1. 在 Google Cloud Console 中,转到 Analytics Hub 页面。

    转到 Analytics Hub

  2. 从数据交换清单中,点击要更新的数据交换。

  3. 点击 修改交换

  4. 修改交换对话框中,更新以下字段:

    • 显示名
    • 主要联系人
    • 说明
  5. 点击保存

API

使用 projects.locations.dataExchanges.patch 方法

PATCH https://analyticshub.googleapis.com/v1beta1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID?updateMask=UPDATEMASK

UPDATEMASK 替换为您要更新的字段列表。如需更新多个值,请使用英文逗号分隔列表(比方说,更新数据交换的显示名和主要联系人),请输入 displayName,primaryContact

在请求正文中,为以下字段指定更新后的值:

  • 显示名
  • 说明
  • 文档
  • 图标
  • 主要联系人

如需详细了解您可以使用 API 针对数据交换执行的任务,请参阅 projects.locations.dataExchanges 方法

向用户授予对数据交换的访问权限

如需向用户授予访问数据交换的权限,您必须为该数据交换设置 IAM 政策。如需了解预定义的 IAM 用户角色,请参阅 Analytics Hub 用户角色。请按以下步骤操作:

控制台

  1. 在 Cloud Console 中,转到 Analytics Hub 页面。

    转到 Analytics Hub

  2. 点击您要设置权限的数据交换名称。

  3. 点击 设置权限

  4. 如需添加主帐号,请点击 添加主帐号

  5. 新建主帐号字段中,添加要授予其访问权限的电子邮件。

  6. 对于选择角色,请将指针悬停在 Analytics Hub 上,然后选择以下 Identity and Access Management (IAM) 角色之一:

    • Analytics Hub Admin
    • Analytics Hub Publisher
    • Analytics Hub Listing Admin
    • Analytics Hub Subscriber
    • Analytics Hub Viewer
  7. 点击保存

API

  1. 使用 projects.locations.dataExchanges.getIamPolicy 方法通过列表 getIamPolicy 方法读取现有政策:

    POST https://analyticshub.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
    

    替换以下内容:

    • PROJECT_ID:项目 ID,例如 my-project-1
    • LOCATION:数据交换的位置。
    • DATAEXCHANGE_ID:数据交换 ID。

    Analytics Hub 会返回当前政策。

  2. 如需添加或移除成员及其关联的 Identity and Access Management (IAM) 角色,请使用文本编辑器修改该政策。请按以下格式添加成员:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    例如,如需向 group:subscribers@example.com 授予 roles/analyticshub.subscriber 角色,请将以下绑定添加到政策中:

    {
     "members": [
       "group:subscribers@example.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. 使用 projects.locations.dataExchanges.setIamPolicy 方法写入更新后的政策。在请求正文中,提供上一步中写入的更新后 IAM 政策。

    POST https://analyticshub.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
    

    在请求正文中,提供清单详细信息。如果请求成功,则响应正文包含列表的详情。

创建 Analytics Hub 管理员

如需管理数据交换,您必须创建 Analytics Hub 管理员。如需创建交换管理员,您需要在项目或数据交换级别向用户授予 Analytics Hub Admin 角色 (roles/analyticshub.admin)

如果您希望管理员管理项目中的所有数据交换,请授予项目的 Analytics Hub Admin 角色。如果您希望管理员管理特定数据交换,请授予该数据交换的 Analytics Hub Admin 角色

公开数据交换

默认情况下,数据交换是不公开的,只有有权访问该交换的用户或群组才能查看或订阅其清单。但是,您可以选择公开数据交换。Google Cloud 用户(allauthenticated 用户)可以发现和订阅公共数据交换中的清单。

如需公开数据交换,请按以下步骤操作:

  1. 如需让 allauthenticated 用户查看清单,您必须在数据交换级层授予他们 Analytics Hub Viewer 角色

  2. 如需让 allauthenticated 用户订阅清单,您必须在数据交换级层授予他们 Analytics Hub Subscriber 角色

  3. 请求 Google 公开数据交换。

删除数据交换

删除数据交换后,其中的所有清单也会被删除。 但是,共享数据集和关联的数据集不会被删除。此外,项目被删除后,项目内的数据交换不会被删除。您需要先删除这些数据交换,然后再删除项目。删除数据交换后,此操作无法撤消。

要删除数据交换,请按以下步骤操作:

控制台

  1. 在 Google Cloud Console 中,转到 Analytics Hub 页面。

    转到 Analytics Hub

  2. 从数据交换列表中,点击要删除的数据交换。

  3. 点击 删除交换

  4. “是否要删除交换?”对话框中,输入 delete 以确认删除。

  5. 点击删除

API

使用 projects.locations.dataExchanges.delete 方法

DELETE https://analyticshub.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID

如需详细了解您可以使用 API 针对数据交换执行的任务,请参阅 projects.locations.dataExchanges 方法

后续步骤