管理数据交换

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

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

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

准备工作

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

所需权限

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

  • serviceUsage.services.get
  • serviceUsage.services.list
  • serviceUsage.services.enable

以下预定义 IAM 角色可提供启用 Analytics Hub API 所需的权限:

  • 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. 转到 Analytics Hub 页面。

    转到 Analytics Hub

  2. 点击 创建交换

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

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

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

    • 主要联系人:输入数据交换的主要联系人的网址或电子邮件地址。
    • 说明:输入数据交换的说明。
  6. 如需开启公开可检测性,请点击公开可检测性切换开关。可公开检测到交换后,交换中的所有清单都会显示并可在目录中进行搜索。如果您启用公开可检测性,则必须配置交换权限。由于权限继承,默认情况下,所有清单都将设置成使用交换的同一公开可检测性类型。因此,公开交换不能包含非公开清单,但非公开交换可以包含公开清单(例如,您可以在单个清单级别设置公开可检测性类型)。要在其中创建数据交换的项目必须具有关联的组织和结算账号。

  7. 点击创建交换

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

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

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

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

API

使用 projects.locations.dataExchanges.create 方法

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

替换以下内容:

  • PROJECT_ID:要在其中创建数据交换的项目的 ID。
  • LOCATION:数据交换的位置。如需详细了解有哪些位置支持 Analytics Hub,请参阅支持的区域
  • DATAEXCHANGE_ID:您的数据交换的 ID。

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

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

更新数据交换

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

控制台

  1. 转到 Analytics Hub 页面。

    转到 Analytics Hub

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

  3. 点击 修改交换

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

    • 显示名
    • 主要联系人
    • 说明
    • 公开可检测性
      • 如果启用公开可检测性,请向 allUsersallAuthenticatedUsers 授予 Analytics Hub Viewer 角色 (roles/analyticshub.viewer)。
      • 如果您停用公开可检测性,请从 allUsersallAuthenticatedUsers 中移除 Analytics Hub Viewer 角色 (roles/analyticshub.viewer)。公开交换不能包含非公开清单,但非公开交换可以包含公开清单。
  5. 点击保存

API

使用 projects.locations.dataExchanges.patch 方法

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

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

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

  • 显示名
  • 说明
  • 文档
  • 图标
  • 主要联系人
  • 公开可检测性

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

查看数据交换

如需查看组织中您有权访问的所有数据交换,请按照以下步骤操作:

控制台

  1. 转到 Analytics Hub 页面。

    转到 Analytics Hub

  2. 查看 Google Cloud 组织中的数据交换列表。

API

使用 organizations.locations.dataExchanges.list 方法

GET https://analyticshub.googleapis.com/v1/organizations/ORGANIZATION_ID/location/LOCATION/dataExchanges

替换以下内容:

  • ORGANIZATION_ID:组织 ID。如需了解详情,请参阅获取组织 ID
  • LOCATION:要为其列出现有数据交换的位置。

共享数据交换

如果 Analytics Hub 发布者与包含数据交换的组织属于不同组织,则发布者无法在 Analytics Hub 中查看数据交换。您必须与发布者共享数据交换的链接。

  1. 转到 Analytics Hub 页面。

    转到 Analytics Hub

  2. 从数据交换列表中,点击 更多选项

  3. 点击 复制共享链接

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

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

控制台

  1. 在 Google Cloud 控制台中,转到 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/v1/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/v1/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 用户 (allAuthenticatedUsers) 可以发现和订阅公共数据交换中的清单。

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

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

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

  3. 创建更新数据交换时,开启公开可检测性。公开数据交换时,请指定适当的权限。

删除数据交换

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

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

控制台

  1. 转到 Analytics Hub 页面。

    转到 Analytics Hub

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

  3. 点击 删除交换

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

  5. 点击删除

API

使用 projects.locations.dataExchanges.delete 方法

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

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

后续步骤