处理数据访问

数据源函数

数据连接器包装和自定义 M 库中数据源函数的行为。 例如,REST API 的扩展将使用 Web.Contents 函数发出 HTTP 请求。 目前,已启用一组有限的数据源函数以支持扩展性。

Example:

[DataSource.Kind="HelloWorld", Publish="HelloWorld.Publish"]
shared HelloWorld.Contents = (optional message as text) =>
    let
        message = if (message <> null) then message else "Hello world"
    in
        message;

数据源类型

在扩展中标记为 shared 函数的函数可以通过在具有数据源定义记录名称的函数上包括 DataSource.Kind 文本属性来与特定数据源相关联。 数据源记录定义数据源支持的身份验证类型以及基本品牌信息(如显示名称/标签)。 记录的名称将成为其唯一标识符。

与同一数据源关联的每个函数必须具有相同必需的函数参数,包括名称、类型和顺序。 (出于数据源种类的目的,如果参数被标记 optional 或其元数据包含 DataSource.Path = false.)则不被视为必需参数。

特定数据源类型函数只能使用与该类型关联的凭据。 凭据在运行时通过根据函数必要参数的组合进行查询来识别。 有关如何标识凭据的详细信息,请参阅 数据源路径

Example:

HelloWorld = [
    Authentication = [
        Implicit = []
    ],
    Label = Extension.LoadString("DataSourceLabel")
];

属性

下表列出了数据源定义记录的字段。

领域 类型 详细信息
Authentication 记录 指定数据源支持的一种或多种类型的身份验证。 至少需要一种类别。 每种类型将在 Power Query 凭据提示符中显示为一个选项。 有关详细信息,请参阅 身份验证类型
标签 文本消息 (可选) 凭据对话框中此扩展的友好显示名称。
支持加密 逻辑 (可选) 如果为 true,UI 将显示使用加密连接连接到数据源的选项。 这通常用于具有非加密回退机制(通常为 ODBC 或基于 ADO.NET 的源)的数据源。

发布到 UI

类似于 数据源 定义记录,“发布”记录为 Power Query UI 提供了在 获取数据 对话框中公开此扩展所需的信息。

Example:

HelloWorld.Publish = [
    Beta = true,
    ButtonText = { Extension.LoadString("FormulaTitle"), Extension.LoadString("FormulaHelp") },
    SourceImage = HelloWorld.Icons,
    SourceTypeImage = HelloWorld.Icons
];

HelloWorld.Icons = [
    Icon16 = { Extension.Contents("HelloWorld16.png"), Extension.Contents("HelloWorld20.png"), Extension.Contents("HelloWorld24.png"), Extension.Contents("HelloWorld32.png") },
    Icon32 = { Extension.Contents("HelloWorld32.png"), Extension.Contents("HelloWorld40.png"), Extension.Contents("HelloWorld48.png"), Extension.Contents("HelloWorld64.png") }
];

属性

下表列出了发布记录的字段。

领域 类型 详细信息
ButtonText 列表 文本项列表。 第一项定义 Power BI “获取数据 ”对话框中数据源图标旁边显示的名称。 第二项(可选)用于定义当鼠标悬停在上一个名称时显示的工具提示。
类别 文本消息 应在 “获取数据” 对话框中显示扩展的位置。 目前,唯一具有特殊处理的类别值是 AzureDatabase。 所有其他值最终将归结为“其他”类别。
Beta 逻辑 (可选) 设置为 true 时,UI 将在连接器名称旁边显示预览/Beta 标识符,并显示一个警告对话框,指示连接器的实现可能会发生重大更改。
LearnMoreUrl 文本消息 (可选) 指向包含有关此数据源或连接器的详细信息的网站 URL。
支持直接查询 逻辑 (可选) 为扩展启用直接查询。
SourceImage 记录 (可选) 包含二进制图像列表的记录(使用 Extension.Contents 方法从扩展文件中获取)。 记录包含两个字段(Icon16,Icon32),每个字段都有自己的列表。 每个图标的大小应不同。
图像源类型 记录 (可选) 与 SourceImage 类似,不同之处在于许多开箱即用的连接器通常约定显示带有源特定图标的工作表图标,该源特定图标位于工作表的右下角。 为 SourceTypeImage 提供不同的图标集是可选的,许多扩展程序只是将相同的图标集用于这两个字段。