将数据产品从 SAP® Business Data Cloud 共享至 Snowflake

SAP® 与 Snowflake 之间的集成依赖于 Snowflake 中的 目录集成 功能,以此实现来自 SAP® Snowflake 和 SAP® Business Data Cloud Connect for Snowflake 数据产品的零复制数据共享。

将数据产品从 SAP® BDC 共享至 SAP® Snowflake 账户以及使用 SAP® BDC Connect for Snowflake 的现有 Snowflake 账户,其操作步骤基本相同。

本主题介绍了创建目录集成和共享数据产品的步骤。

如果您使用的是 SAP® Snowflake,请参阅以下章节作为参考。如果您使用的是 SAP® BDC Connect for Snowflake,请阅读并完成 SAP® Business Data Cloud Connect for Snowflake 中的步骤。

在本节中,您将执行以下操作:

  1. 请审阅 SAP® Snowflake SAP® Snowflake,或为 SAP® BDC Connect for Snowflake 配置目录集成

  2. 在 SAP® BDC 中,选择要与 Snowflake 共享的数据产品,以便与 Snowflake 共享数据产品。

  3. 如果您使用的是 SAP® Snowflake,请 为共享数据产品创建目录链接数据库 以便为共享数据产品创建目录链接数据库。

SAP® Snowflake

作为预置新 SAP® Snowflake 账户过程的一部分,系统会在该 SAP® Snowflake 账户中自动创建一个名为 SAP_BDC_INTEGRATION 的目录集成,并将其注册到 SAP® Business Data Cloud。您可以使用此目录集成共享来自 SAP® Business Data Cloud 的数据,也可以根据下一节的说明选择创建额外的目录集成。

SAP® Business Data Cloud Connect for Snowflake

备注

在以 SAP_BDC 作为 CATALOG_SOURCE 创建目录集成之前,您需要以 ORGADMIN 身份接受 SAP® BDC Connect for Snowflake 条款。如果不接受这些条款,创建目录集成将会失败并报错。ORGADMIN 只需为该 Snowflake 组织执行一次此操作。

若要在 Snowsight 中接受 SAP® BDC Connect for Snowflake 条款:

  1. 以具有 ORGADMIN 角色的用户身份登录 Snowflake。

  2. 以具有 Snowsight 角色的用户身份登录 ORGADMIN

  3. 在导航菜单中,选择 Admin » Terms

  4. Snowflake Marketplace 部分,点击 SAP® BDC Connect for Snowflake Terms 旁边的 Review

  5. 选择 Acknowledge & Continue

对于与 SAP® Business Data Cloud Connect for Snowflake 集成的现有 Snowflake 账户,用户需要先创建并注册目录集成,然后才能将数据从 SAP® Business Data Cloud 共享至 Snowflake。

若要创建并查看目录集成,请运行以下命令:

  1. 创建目录集成并注册至 SAP Business Data Cloud

CREATE OR REPLACE CATALOG INTEGRATION MY_SAP_BDC_CATALOG_INT
   CATALOG_SOURCE = SAP_BDC
   TABLE_FORMAT = DELTA
    REST_CONFIG = (
      SAP_BDC_INVITATION_LINK = '<Invitation Link from SAP BDC>'
      ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS
    )
    ENABLED = TRUE
    COMMENT = 'My SAP BDC catalog integration';
  1. 验证目录集成是否已成功创建。

    SHOW CATALOG INTEGRATIONS;
    

其产生的结果应类似于:

MY_SAP_BDC_CATALOG_INT     CATALOG CATALOG true    2025-12-10 18:27:45.181 -0800

在 SAP® BDC 中,选择要与 Snowflake 共享的数据产品

为了能够搜索数据产品并将其共享至 Snowflake,用户必须使用中央 SAP Business Data Cloud 目录,并拥有具备以下权限的全局角色:

  • BDC 数据包(读取)- 用于访问 SAP Business Data Cloud。

  • 目录资产(读取)- 用于访问目录并查看资产 (Assets) 和数据产品 (Data Products) 集合中的对象。

  • 云数据产品(共享)- 用于将数据产品共享到目标系统。

具有这些权限的用户可以将数据产品从 SAP Business Data Cloud 目录共享至指定的 SAP Snowflake 账户,供该账户中的特定角色使用。

要与 Snowflake 共享数据产品,请执行以下操作:

  1. 在中央 SAP Business Data Cloud 目录中,选择要与 SAP Snowflake 账户共享的数据产品。

  2. Catalog & Marketplace 中,通过搜索或使用筛选器来查找要共享的数据产品。

  3. 在搜索结果中,点击待共享数据产品(例如 customer)中的 Share 按钮,以打开 Manage Share Access 对话框。

  4. Overview 部分,通过查看数据产品的详细信息和可用对象来了解更多信息。

  5. Target System 下:

    1. 选择要共享到的、已注册目录集成的 Snowflake 账户(如果存在多个账户)。

    2. 点击 Update 按钮

系统将显示一条消息,告知您共享过程已启动。该过程完成后,系统会弹出通知显示共享结果。

为共享数据产品创建目录链接数据库

如果您使用的是 SAP® Snowflake,则可以为共享数据产品创建目录链接数据库。

  1. 列出针对该已注册目录集成,可从 SAP® Business Data Cloud 获取的共享内容:

    SELECT SYSTEM$SAP_BDC_LIST_SHARES('MY_SAP_BDC_CATALOG_INT');
    

其产生的结果应类似于:

["usid:0c7785a5-951f-4f3c-9f9f-9df3a5524d84:ns:sap.s4com:r:cashflow:v:1",
 "usid:0c7785a5-951f-4f3c-9f9f-9df3a5524d84:ns:sap.s4com:r:customer:v:1",
 "usid:0c7785a5-951f-4f3c-9f9f-9df3a5524d84:ns:sap.s4com:r:entryviewjournalentry:v:1"]

每个元素代表一个共享的数据产品。突出显示的文本是示例,代表通过已注册的目录集成 MY_SAP_BDC_CATALOG_INT,从 SAP® Business Data Cloud 共享到 Snowflake 的数据产品名称。

  1. 为共享数据产品创建目录链接数据库:

    CREATE OR REPLACE DATABASE CUSTOMER
       LINKED_CATALOG = (
         CATALOG = MY_SAP_BDC_CATALOG_INT,
         CATALOG_NAME = 'shares/usid:0c7785a5-951f-4f3c-9f9f-9df3a5524d84:ns:sap.s4com:r:customer:v:1',
         ALLOWED_WRITE_OPERATIONS = NONE
       );
    

    其产生的结果应类似于:

    Database CUSTOMER successfully created.
    
  2. 确认链接状态

SELECT SYSTEM$CATALOG_LINK_STATUS('CUSTOMER');

其产生的结果应类似于:

{"failureDetails":[],"executionState":"RUNNING","lastLinkAttemptStartTime":"2025-12-17T21:13:29.611Z"}

在此示例中,我们仅创建了一个目录链接数据库 CUSTOMER。您可以根据 Snowflake 账户中与已注册目录集成共享的数据产品,创建其他的目录链接数据库。

后续步骤

共享数据产品后,您可以对已共享至 Snowflake 的数据执行 探索来自 SAP® Business Data Cloud 的数据 操作。