教程:为 Azure Cosmos DB 配置 Microsoft Fabric 镜像数据库(预览版)

在本教程中,从现有的 Azure Cosmos DB for NoSQL 帐户配置 Fabric 镜像数据库。

镜像会以增量方式将 Azure Cosmos DB 数据以近实时方式复制到 Fabric OneLake,不会影响事务工作负荷的性能,也不消耗请求单位 (RU)。 可以使用 DirectLake 模式直接在 OneLake 中的数据上生成 Power BI 报表。 可以在 SQL 或 Spark 中运行即席查询,通过笔记本生成数据模型,并使用 Fabric 中的内置 Copilot 和高级 AI 功能来分析数据。

重要

Azure Cosmos DB 镜像目前处于预览阶段。 预览期间不支持生产工作负载。 目前,仅支持 Azure Cosmos DB for NoSQL 帐户。

先决条件

提示

在公共预览期间,建议使用现有 Azure Cosmos DB 数据的测试或开发副本,以便从备份中快速恢复。

配置 Azure Cosmos DB 帐户

首先,确保正确配置源 Azure Cosmos DB 帐户,以便用于 Fabric 镜像。

  1. Azure 门户中,导航到你的 Azure Cosmos DB 帐户。

  2. 确保已启用连续备份。 如果未启用,请按照将现有 Azure Cosmos DB 帐户迁移到连续备份指南来启用连续备份。 此功能可能不支持某些场景。 有关详细信息,请参阅数据库和帐户限制

  3. 确保所有网络的网络选项均设置为公用网络访问。 如果没有,请按照配置 Azure Cosmos DB 帐户的网络访问指南操作。

创建镜像数据库

现在,创建一个镜像数据库,作为复制数据的目标。 有关详细信息,请参阅镜像会带来什么

  1. 导航到 Fabric 门户主页。

  2. 打开现有工作区或创建新工作区。

  3. 在导航菜单中,选择创建

  4. 选择“创建”,找到“数据仓库”部分,然后选择“镜像 Azure Cosmos DB(预览)”

  5. 为镜像数据库命名,然后选择“创建”。

连接到源数据库

接下来,将源数据库连接到镜像数据库。

  1. 在“新建连接”部分,选择 Azure Cosmos DB for NoSQL

  2. 为 Azure Cosmos DB for NoSQL 帐户提供凭证,包括以下项:

    Azure Cosmos DB 终结点 源帐户的 URL 终结点。
    连接名称 连接的唯一名称。
    身份验证种类 选择“帐户密钥”。
    帐户密钥 源帐户的读写密钥。

    新连接对话框的屏幕截图,其中包含 Azure Cosmos DB for NoSQL 帐户的凭证。

  3. 选择“连接” 。 然后,选择要镜像的数据库。

    注意

    数据库中的所有容器都是镜像的。

启动镜像过程

  1. 选择“镜像数据库”。 镜像现在开始。

  2. 等待两到五分钟。 然后,选择“监视复制”以查看复制操作的状态。

  3. 几分钟后,状态应变为“正在运行”,这表明容器正在同步。

    提示

    如果找不到容器和相应的复制状态,请等待几秒钟,然后刷新窗格。 在极少数情况下,可能会收到暂时性错误消息。 你可以放心忽略它们,继续刷新。

  4. 当镜像完成容器的初始复制时,上次刷新列中会显示一个日期。 如果数据复制成功,汇总行列将包含复制的项数。

监视结构镜像

现在,你的数据已启动并运行,整个 Fabric 中具有各种可用的分析场景。

  1. 配置 Fabric 镜像后,会自动导航到“复制状态”窗格。

  2. 在此处监视复制的当前状态。 有关复制状态的详细信息和细节,请参阅监视 Fabric 镜像数据库复制

从 Fabric 查询源数据库

使用 Fabric 门户浏览 Azure Cosmos DB 帐户中已存在的数据,查询源 Cosmos DB 数据库。

  1. 导航到 Fabric 门户中的镜像数据库。

  2. 选择“视图”,然后选择“源数据库”。 此操作将打开 Azure Cosmos DB 数据资源管理器,其中包含源数据库的只读视图。

    数据资源管理器的屏幕截图,其中包含 Azure Cosmos DB 帐户中 NoSQL 数据的只读视图。

  3. 选择容器,然后打开上下文菜单,并选择“新建 SQL 查询”。

  4. 运行任何查询。 例如,使用 SELECT COUNT(1) FROM container 计算容器中的项数。

    注意

    源数据库上的所有读取都会路由到 Azure,并将消耗为帐户分配的请求单位 (RU)。

分析目标镜像数据库

现在,使用 T-SQL 查询当前存储在 Fabric OneLake 中的 NoSQL 数据。

  1. 导航到 Fabric 门户中的镜像数据库。

  2. 镜像 Azure Cosmos DB 切换到 SQL 分析终结点

    选择器屏幕截图,其中显示了在 Fabric 门户中切换项。

  3. 源数据库中的每个容器都应在 SQL 分析终结点中表示为仓库表。

  4. 选择任意表,打开上下文菜单,然后选择“新建 SQL 查询”,最后选择“选择前 100 个”。

  5. 查询将执行并返回所选表中的 100 条记录。

  6. 打开同一表的上下文菜单,然后选择“新建 SQL 查询”。 编写一个使用 SUMCOUNTMINMAX 等聚合的示例查询。 联接仓库中的多个表,跨多个容器执行查询。

    注意

    例如,此查询将跨多个容器执行:

    SELECT
        d.[product_category_name],
        t.[order_status],
        c.[customer_country],
        s.[seller_state],
        p.[payment_type],
        sum(o.[price]) as price,
        sum(o.[freight_value]) freight_value 
    FROM
        [dbo].[products] p 
    INNER JOIN
        [dbo].[OrdersDB_order_payments] p 
            on o.[order_id] = p.[order_id] 
    INNER JOIN
        [dbo].[OrdersDB_order_status] t 
            ON o.[order_id] = t.[order_id] 
    INNER JOIN
        [dbo].[OrdersDB_customers] c 
            on t.[customer_id] = c.[customer_id] 
    INNER JOIN
        [dbo].[OrdersDB_productdirectory] d 
            ON o.product_id = d.product_id 
    INNER JOIN
        [dbo].[OrdersDB_sellers] s 
            on o.seller_id = s.seller_id 
    GROUP BY
        d.[product_category_name],
        t.[order_status],
        c.[customer_country],
        s.[seller_state],
        p.[payment_type]
    

    此示例假定了表和列的名称。 编写 SQL 查询时使用你自己的表和列。

  7. 选择查询,然后选择“另存为视图”。 为视图指定唯一名称。 可随时从 Fabric 门户访问此视图。

  8. 返回到 Fabric 门户中的镜像数据库。

  9. 选择“新建视觉对象查询”。 使用查询编辑器生成复杂的查询。

    Fabric 中基于文本的查询和视觉对象查询的查询编辑器屏幕截图。

基于 SQL 查询或视图生成 BI 报表

  1. 选择查询或视图,然后选择“浏览此数据(预览版)”。 此操作直接使用 OneLake 镜像数据上的 Direct Lake 浏览 Power BI 中的查询。
  2. 根据需要编辑图表并保存报表。

提示

还可以选择使用 Copilot 或其他增强功能生成仪表板和报告,无需进一步的数据移动。

更多示例

详细了解如何在 Fabric 中访问和查询镜像 Azure Cosmos DB 数据: