创建第一个连接器:Hello World
此示例提供了一个简单的数据源扩展,此扩展可在 Visual Studio Code 中运行,并在 Power BI Desktop 中加载。
Hello World 示例
作为概述,此示例显示:
- 导出函数 (
HelloWorld.Contents
),该函数采用选项文本参数。 - 定义数据源类型,该类型:
- 声明它使用隐式(匿名)身份验证。
- 使用允许进行本地化的字符串资源。
- 声明 UI 元数据,以便可以在 Power BI Desktop“获取数据”对话框中显示扩展。
按照安装 PowerQuery SDK 中的说明创建名为“HelloWorld”的新连接器,复制以下 M 代码并将其粘贴到连接器工作区的 HelloWorld.pq 文件中,然后按照其余说明在 Power BI 中打开它。
在以下连接器定义中可以找到:
section
语句。- 数据源函数和元数据,元数据使用 Kind
HelloWorld
和 PublishHelloWorld.Publish
将数据源函数确定为数据源定义。 - 一条
Authentication
记录,此记录声明隐式(匿名)是此源的唯一身份验证类型。 - 一条发布记录,声明此连接处于 beta 版,以及从 resx 文件、源图像和源类型图像中加载什么文本。
- 一条将图标大小与生成文件夹中的特定 PNG 关联的记录。
section HelloWorld;
[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;
HelloWorld = [
Authentication = [
Implicit = []
],
Label = Extension.LoadString("DataSourceLabel")
];
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") }
];
生成文件并将其复制到正确目录后,按照安装 PowerQuery SDK 教程中的说明打开 Power BI。 可以在获取数据对话框中搜索“hello”以查找连接器。
此步骤会打开一个身份验证对话框。 由于没有身份验证选项,并且函数不采用任何参数,因此,这些对话中没有后续步骤。
按“连接”,对话框会告诉你它是一个“预览连接器”,因为在查询中 Beta
已设置为 true。 由于没有身份验证,身份验证屏幕会显示一个用于匿名身份验证的选项卡,其中没有任何字段。 再次按连接以完成。
最后,出现查询编辑器,显示预期内容 - 一个返回“Hello world”文本的函数。
有关完全实现的示例,请参阅数据连接器示例存储库中的 Hello World 示例。