OneLake 表 API(适用于 Iceberg)

OneLake 提供 REST API 终结点,用于与 Microsoft Fabric 中的表进行交互。 本文介绍如何开始使用此终结点,与其上提供的 Apache Iceberg REST 目录(IRC)API 进行交互,以执行元数据读取操作。

有关 OneLake 表 API 总体指南和先决条件指南,请参阅 OneLake 表 API 概述

有关详细的 API 文档,请参阅 入门指南

重要

此功能目前为预览版

Iceberg 表 API 端点

OneLake 表 API 终结点为:

https://onelake.table.fabric.microsoft.com

在 OneLake 表 API 终结点上,Iceberg REST 目录 (IRC) API 在以下 <BaseUrl>位置提供。 初始化现有 IRC 客户端或库时,通常可以提供此路径。

https://onelake.table.fabric.microsoft.com/iceberg

入门指南介绍了 OneLake 表终结点的 IRC 客户端配置示例。

注释

在使用 Iceberg API 之前,请确保为租户或工作区启用了 Delta Lake 到 Iceberg 元数据转换。 请参阅有关如何启用自动 Delta Lake 到 Iceberg 元数据转换的说明

Iceberg 表 API操作

此终结点当前支持以下的 IRC 操作。 在入门指南中可以找到有关这些操作的详细指导。

  • 获取配置

    GET <BaseUrl>/v1/config?warehouse=<Warehouse>

    此操作接受工作区 ID 和数据项 ID,或它们不包含任何特殊字符时的等效友好名称。 <Warehouse> 通常是 <WorkspaceID>/<dataItemID>.

    此作返回 Prefix 后续请求中使用的字符串。

  • 列出命名空间

    GET <BaseUrl>/v1/<Prefix>/namespaces

    此作返回数据项中的架构列表。 如果数据项不支持架构,则返回一个名为 dbo 的固定架构。

  • 获取命名空间

    GET <BaseUrl>/v1/<Prefix>/namespaces/<SchemaName>

    如果找到架构,此作将返回有关数据项中的架构的信息。 如果数据项不支持架构,则此处支持命名 dbo 的固定架构。

  • 列出表格

    GET <BaseUrl>/v1/<Prefix>/namespaces/<SchemaName>/tables

    此作返回给定架构中找到的表列表。

  • 获取表

    GET <BaseUrl>/v1/<Prefix>/namespaces/<SchemaName>/tables/<TableName>

    如果找到表,此操作将返回模式中表的元数据详细信息。

当前限制,注意事项

Iceberg 的 OneLake 表 API 的使用受以下限制和注意事项的约束:

  • 某些数据项可能不支持架构

    根据所使用的数据项类型(如未启用架构的 Fabric Lakehouses),表目录中可能没有架构。 在这种情况下,为了与 API 客户端兼容,OneLake 表 API 提供默认的固定 dbo 架构(或命名空间),以包含数据项中的所有表。

  • 当前命名空间范围

    在 Fabric 中,数据项包含模式的线性列表,每个模式都包含表的线性列表。 如今,Iceberg API 列出的顶级命名空间是架构,因此,尽管 Iceberg REST 目录 (IRC) 标准支持多级命名空间,但 OneLake 实现提供一个级别,映射到架构。

    由于此限制,我们尚不支持parent操作的list namespaces查询参数。

  • 元数据写操作,其他操作

    目前仅支持 Iceberg 表 API 操作中列出的操作。 OneLake 表 API 终结点尚不支持处理元数据写入操作。 我们计划稍后添加对更多操作的支持。