为 SAP Business Data Cloud 设置跨云连接

本文档介绍了如何设置跨云连接,以便直接在 中查询 SAP Business Data Cloud (BDC) 中的数据 Google Cloud。这样可以将外部数据源与现有 环境 Google Cloud 集成。

如需大致了解 Lakehouse 如何与 SAP BDC 集成,请参阅 关于 SAP BDC 集成

准备工作

  1. 查看 Lakehouse 概览,了解 Lakehouse 如何管理数据访问权限。
  2. 了解如何访问跨云数据,了解其工作原理。
  3. 查看受支持的 目录,验证要求。
  4. 确保 SAP 管理员有权访问您的 SAP BDC 环境,以 配置 BDC Connect 应用。
  5. 确保目标 Google Cloud 项目在 BigQuery 企业 Plus 版上运行。
  6. 登录您的 Google Cloud 账号。如果您是新手 Google Cloud, 请创建一个账号来评估我们的产品在 实际场景中的表现。新客户还可获享 $300 赠金,用于 运行、测试和部署工作负载。
  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

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

  10. Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

所需的角色

如需获得设置跨云访问权限所需的权限,请让管理员向您授予项目的以下 IAM 角色:

  • 管理 Lakehouse 目录: BigLake Admin (roles/biglake.admin) 或 BigQuery Admin (roles/bigquery.admin)

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

您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。

限制和注意事项

本部分列出了访问跨云数据的限制和注意事项。

  • SAP Delta Sharing 表不支持精细访问权限控制 (FGAC)。
  • 根据您的投放网络设置,可能需要特定的 VPC 配置或许可名单。如需了解 VPC Service Controls 配置,请参阅 VPC Service Controls configuration for SAP BDC
  • 不支持包含特殊字符(例如 /-)的数据产品 ,即使从 SAP BDC 共享到 BigQuery,这些数据产品也不会在 BigQuery 中提供。如果您共享包含特殊 字符的数据产品,可能会导致 Google 端刷新中断,并且 需要重新注册。已知会生成这些数据产品的 SAP 系统包括 BW 来源和 SuccessFactors。
  • 只读:Lakehouse 中的联合目录 是远程目录的只读视图。不支持资源操作 (例如创建、更新或删除资源),必须 直接在远程目录中执行。
  • 数据新鲜度:联合目录的 --refresh-interval 标志 决定了元数据的同步频率。该值必须 为 0s(已停用)或至少 300s(5 分钟)。目录的后台元数据刷新可能需要更长时间,具体取决于命名空间和 表资源的数量。如果上一次刷新超时,系统会跳过当前 刷新,但会在下一个时间间隔安排下一次刷新。

常规工作流程

如需为 SAP BDC 设置跨云连接,请按照以下步骤操作:

  • 设置企业 Plus 版 :在查询 SAP BDC 实例时启用 BigQuery 企业 Plus 版。
  • 创建 Lakehouse 目录 :BigQuery 管理员创建一个空的 Delta Sharing 目录以连接到 SAP BDC。
  • 在 SAP for Me 中配置连接器 :您的 SAP 管理员预配 BDC Connect 应用实例。
  • 更新目录 :通过将端点和邀请码添加到 Lakehouse 目录来完成握手。
  • 共享 SAP BDC 数据产品 :您的 SAP 数据管理员为 BigQuery 共享数据产品。
  • 查询数据 :使用 BigQuery 查询联合数据。
  • 配置权限 :使用 Identity and Access Management (IAM) 管理访问权限。

设置 BigQuery 企业 Plus 版

通过此一次性设置,BigQuery 可以使用企业 Plus 版查询您的 SAP BDC 实例。

创建企业 Plus 版预留

  1. 前往 BigQuery

    前往 BigQuery

  2. 在导航菜单中,依次前往管理 > 容量管理

  3. 对于预留名称,输入一个名称(例如 enterprise-plus-sap-res)。

  4. 点击预留 标签页,然后点击创建预留

  5. 对于位置,选择您的数据所在的区域。此区域必须与 Lakehouse 目录所用的区域一致。

  6. 对于版本,选择企业 Plus 版

  7. 对于,请设置以下内容:

    • 基准槽 设置为 0,以避免在不查询数据时产生费用。
    • 启用自动扩缩 ,让 BigQuery 根据需要扩缩槽。
  8. 点击保存

将项目分配到预留

  1. 容量管理 页面中,点击分配 标签页。
  2. 点击创建分配
  3. 对于选择资源,选择运行 BigQuery 作业的项目、文件夹或组织。
  4. 对于预留 ,选择您创建的企业 Plus 版预留。
  5. 对于服务类型 ,选择查询
  6. 点击创建

如需进行验证,请在 BigQuery 作业记录中查看在该项目内运行的所有作业的作业信息

设置联合

如需查询数据,请设置一个 Lakehouse 联合目录,该目录连接到您的远程 SAP BDC 目录。这会启动握手,以 建立信任关系,其中 BigQuery 服务 账号充当 Google Cloud 项目的身份。

创建 Lakehouse Delta Sharing 目录

使用 Google Cloud 控制台或 gcloud CLI 创建一个空的 Delta Sharing 目录。

控制台

  1. 在 Google Cloud 控制台中,前往 Lakehouse 页面。

    前往 Lakehouse

  2. 在导航菜单中,点击运行时目录

  3. 点击创建目录 ,然后选择联合目录

  4. 目录配置 部分中,输入以下内容:

    • 对于联合目录来源,选择SAP (Business Data Cloud)
    • 对于目录名称(在 Lakehouse 中),输入目录的名称。
    • 对于数据位置,选择 Lakehouse 区域。
  5. 点击继续

  6. 检索页面上显示的 Google Cloud 服务账号 ID,并将此 ID 提供给您的 SAP 管理员。

gcloud

  1. 创建一个空的 Delta Sharing 目录:

    gcloud biglake delta-sharing catalogs create CATALOG_ID \
      --project="PROJECT_ID" \
      --location="REGION" \
      --refresh-interval="REFRESH_INTERVAL"

    替换以下内容:

    • CATALOG_ID:目录的名称。
    • PROJECT_ID:您的 Google Cloud 项目 ID。
    • REGION:Lakehouse 区域。
    • REFRESH_INTERVAL:可选:从目录刷新元数据的时间间隔,以包含单位的时长字符串指定(例如,5m 表示 5 分钟,300s 表示 300 秒,或 1h 表示 1 小时)。如果省略,则刷新时间间隔默认为 5 分钟(5m300s)。
  2. 检索 Google Cloud 服务账号 ID 以提供给您的 SAP 管理员:

    gcloud biglake delta-sharing catalogs describe CATALOG_ID \
        --project="PROJECT_ID"

在 SAP for Me 中配置连接器

您的 SAP 管理员必须登录 SAP for Me 并预配 BDC Connect 应用的新实例:

  1. 输入显示名
  2. 选择或创建资源组
  3. 分配 BDC 容量单位
  4. 输入 Google Cloud 服务账号 ID 作为 外部系统 实例标识符
  5. 选择区域 。此区域必须与 BDC Core 区域一致。
  6. 点击完成

完成后,前往租户详细信息视图。将指针悬停在 查看租户通知 按钮上,以获取激活链接 ,其中 包含 SAP 连接器端点SAP 邀请码

将这些信息提供给您的 BigQuery 管理员。

如需了解详情,请参阅 SAP 文档中的预配 SAP Business Data Cloud Connect

使用 SAP 注册详细信息更新目录

使用 Google Cloud 控制台或 gcloud CLI 更新目录以完成握手。

控制台

  1. 如果您尚未进入连接详细信息 页面,请执行以下操作:

    1. 在 Google Cloud 控制台中,前往 Lakehouse 页面。

      前往 Lakehouse

    2. 在导航菜单中,点击运行时目录

    3. 选择您的 SAP Delta Sharing 目录以打开其目录详细信息 页面。

    4. 在横幅中,点击注册目录

  2. 连接详细信息 部分中,输入以下内容:

    • 对于连接器端点,输入 SAP 管理员提供的网址。
    • 对于邀请码,输入 SAP 管理员提供的验证码。
  3. 点击保存

gcloud

gcloud biglake delta-sharing catalogs update CATALOG_ID \
    --project="PROJECT_ID" \
    --connector-endpoint="CONNECTOR_ENDPOINT" \
    --invitation-code="INVITATION_CODE" \
    --refresh-interval="REFRESH_INTERVAL"

替换以下内容:

  • CATALOG_ID:目录的名称。
  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • CONNECTOR_ENDPOINT:SAP 管理员提供的网址。
  • INVITATION_CODE:SAP 管理员提供的验证码。
  • REFRESH_INTERVAL:可选:从目录刷新元数据的时间间隔,以包含单位的时长字符串指定(例如,5m 表示 5 分钟,300s 表示 300 秒,或 1h 表示 1 小时)。如果省略,则后台元数据刷新时间间隔默认为 5 分钟(5m300s)。

共享 SAP BDC 数据产品

您的 SAP 数据管理员必须登录 SAP Business Data Cloud 并为 BigQuery 共享数据产品:

  1. 浏览目录并选择可共享的数据产品。
  2. 前往 API。
  3. 点击共享
  4. 点击添加目标 ,然后选择 Google BigQuery 的 BDC Connect 实例。
  5. 点击共享

共享的数据产品可在 Google BigQuery 中发现。 如需了解详情,请参阅 SAP 文档中的在 SAP Business Data Cloud Connect 中使用数据产品。

后续步骤