本文详细介绍了镜像到 Microsoft Fabric 中的 Azure Cosmos DB 帐户的当前限制。 此页上的限制和配额详细信息将来可能会更改。
重要
Azure Cosmos DB 的镜像目前为 预览版。 预览期间不支持生产工作负荷。 目前,仅支持用于 NoSQL 帐户的 Azure Cosmos DB。
可用性限制
Azure Cosmos DB 的 Fabric 和 API 的特定区域支持镜像。
镜像仅适用于此处列出的这些 Azure Cosmos DB 帐户类型。
可用 用于 NoSQL 的 API 是的 用于 MongoDB 的 API(基于 RU) 否 用于 MongoDB 的 API(基于 vCore) 否 适用于 Apache Gremlin 的 API 否 表 API 否 适用于 Apache Cassandra 的 API(基于 RU) 否 Apache Cassandra 的托管实例 否 -
数据库镜像和打开的镜像在所有Microsoft Fabric 区域中都可用。 有关详细信息,请参阅 Fabric 区域可用性。
帐户和数据库限制
仅当 Azure Cosmos DB 帐户配置了 7 天或 30 天连续备份时,才能启用镜像。
Azure Cosmos DB 中连续备份功能的所有当前限制也适用于 Fabric 镜像。
这些限制包括但不限于:启用后无法禁用连续备份,并且缺少对多区域写入帐户的支持。 有关详细信息,请参阅 Azure Cosmos DB 连续备份限制。
可以在同一 Azure Cosmos DB 帐户上启用分析存储和连续备份功能。
无法在启用了连续备份的 Azure Cosmos DB 帐户上禁用分析存储功能。
不能在以前禁用容器分析存储功能的 Azure Cosmos DB 帐户上启用连续备份。
安全限制
使用基于角色的访问控制进行 Azure Cosmos DB 读写帐户密钥和Microsoft Entra ID 身份验证是连接到源帐户的唯一支持机制。 不支持只读帐户密钥和托管标识。
对于Microsoft Entra ID 身份验证,需要以下基于角色的访问控制权限:
Microsoft.DocumentDB/databaseAccounts/readMetadataMicrosoft.DocumentDB/databaseAccounts/readAnalytics
注释
有关详细信息,请参阅 数据平面基于角色的访问控制文档。
有关用于自动应用自定义基于角色的访问控制角色的脚本示例,请参阅
rbac-cosmos-mirror.shazure-samples/azure-cli-samples。如果轮换了帐户密钥,则必须更新 Fabric 镜像的连接凭据。 如果未更新密钥,镜像将失败。 若要解决此故障,请停止复制,使用新轮换的密钥更新凭据,然后重启复制。
有权访问工作区的 Fabric 用户会自动继承对镜像数据库的访问。 但是,可以精细控制工作区和租户级别访问权限,以管理组织中用户的访问权限。
可以直接在 Fabric 中共享镜像数据库。
源 Azure Cosmos DB 帐户必须为所有网络启用公共网络访问。
Azure Cosmos DB 帐户不支持专用终结点。
Azure Cosmos DB 帐户不支持使用 IP 地址或服务终结点等技术和功能进行网络隔离。
OneLake 中的数据不支持专用终结点、客户管理的密钥或双重加密。
权限限制
如果只有 Fabric 中的查看器权限,则不能在 SQL 分析终结点中预览或查询数据。
如果打算使用数据资源管理器,Azure Cosmos DB 数据资源管理器不会使用与 Fabric 相同的权限。 使用数据资源管理器查看和查询数据的请求将路由到 Azure 而不是 Fabric。
数据资源管理器限制
Fabric 数据资源管理器查询是只读的。 可以查看现有容器、查看项和查询项。
无法在 Fabric 中使用数据资源管理器创建或删除容器。
不能使用 Fabric 中的数据资源管理器插入、修改或删除项。
通过仅与其他用户共享 SQL 分析终结点进行分析,可以避免共享源数据库。
无法在镜像数据库中关闭数据资源管理器。
复制限制
镜像不支持包含属性名称包含空格或通配符的项的容器。 此限制会导致特定容器的镜像失败。 同一数据库中的其他容器仍可以成功镜像。 如果更新属性名称以删除这些无效字符,则必须将新镜像配置为同一数据库和容器,并且无法使用旧镜像。
在 Azure Cosmos DB 帐户具有多个读取区域的情况下,Fabric OneLake 从地理上最近的 Azure 区域镜像到 Fabric 的容量区域。 在灾难恢复方案中,镜像会自动扫描并选取新的读取区域,因为读取区域可能会进行故障转移和更改。
源容器中的删除作会立即反映在 Fabric OneLake 中使用镜像。 不支持使用生存时间(TTL)值的软删除作。
镜像不支持自定义分区。
Fabric 具有 T-SQL 的现有限制。 有关详细信息,请参阅 T-SQL 限制。
架构和数据变更限制
删除和添加类似的容器只会将仓库表中的数据替换为新容器的数据。
在多个项中更改属性中的数据类型会导致复制程序在适用的情况下向上转换数据。 此行为与本机增量体验奇偶一。 任何不适合受支持条件的数据都将成为 null 类型。 例如,将数组属性更改为字符串向上转换为 null 类型。
向项添加新属性会导致镜像无缝检测新属性,并将相应的列添加到仓库表。 如果删除或缺少项属性,则它们具有相应记录的 null 值。
使用镜像复制数据没有完全保真或定义完善的架构。 自动镜像并持续跟踪属性更改和数据类型(如果允许)。
嵌套数据限制
Azure Cosmos DB 项中的嵌套 JSON 对象表示为仓库表中的 JSON 字符串。
命令(例如
OPENJSON,CROSS APPLY有OUTER APPLY选择地)可用于扩展 JSON 字符串数据。- 通过
OPENJSON自动架构推理,可以使用未知或不可预知的嵌套架构平展和浏览嵌套数据。 有关详细信息,请参阅 如何查询嵌套数据。
- 通过
PowerQuery 包括
ToJson选择性地扩展 JSON 字符串数据。镜像在嵌套级别上没有架构约束。 有关详细信息,请参阅 Azure Cosmos DB 分析存储架构约束。
数据仓库限制
仓库无法处理大小大于 8 KB 的 JSON 字符串列。 此方案的错误消息是 “JSON 文本格式不正确。在位置找到意外字符“””。
- 当前的解决方法是在 Fabric Lakehouse 中创建镜像数据库的快捷方式,并使用 Spark Notebook 查询数据以避免此限制。
在 SQL 分析终结点和仓库表中以 JSON 字符串表示的嵌套数据通常会导致列的大小增加到 8 KB 以上。 如果收到此错误消息,则监视嵌套级别和数据量。
镜像项限制
为工作区中的 Azure Cosmos DB 帐户启用镜像需要工作区中的 管理员 或 成员 角色。
停止复制会完全禁用镜像。
重新启动复制会重新分配所有目标仓库表。 此作有效地从头开始镜像。