Power BI 中的连接器扩展性

Power BI 中的自定义连接器扩展连接,以便可以使用来自数百个源的数据。 本文介绍连接器扩展性功能、认证和未认证的连接器、安全设置和签名选项,以帮助在 Power BI Desktop 中安全地生成、部署和使用自定义连接器。

Power BI 通过现有连接器和泛型源(如 ODBC、OData、OLE DB、Web、CSV、XML 和 JSON)连接到数据。 开发人员使用称为 自定义连接器的自定义数据扩展插件添加新源。 Microsoft认证并分发一些作为 认证连接器

小窍门

计划构建连接器? 从 Power Query SDK for Visual Studio Code 开始。 增强功能面向此 SDK,而不是旧版 Visual Studio 扩展。

开发自定义连接器(Power Query SDK)

使用 Visual Studio Code 中的 Power Query SDK 创作、验证和打包自定义连接器:

  • 从 Visual Studio Marketplace 安装: 用于 Visual Studio Code 的 Power Query SDK
  • 浏览 GitHub 存储库中的示例和高级模式: GitHub 上的 microsoft/DataConnectors
  • 使用 SDK 可以:
    • 创建和编辑.pq.m源文件,并进行语法着色和架构验证
    • 构建.mez包(压缩连接器捆绑包)
    • 使用内置查询运行程序运行测试查询
    • 验证导航表、身份验证流和数据源类型

注释

适用于 Visual Studio 的旧 Power Query SDK 处于维护模式。 新功能(改进的架构验证、更新的身份验证流、增强的诊断)首先或在 VS Code SDK 中提供。

若要使用你或其他人开发的未经认证的自定义连接器,请调整 Power BI Desktop 安全设置,让扩展加载,而无需验证或警告。 这些扩展可以忽略隐私级别并处理凭据,并且可以通过 HTTP 发送它们,因此仅在完全信任自定义连接器时启用此设置。

或者,开发人员使用证书对连接器进行签名,并提供无需更改安全设置即可使用它的详细信息。 有关详细信息,请参阅受信任的第三方连接器

自定义连接器

未经认证的自定义连接器范围从小型、业务关键型 API 到尚未具有Microsoft连接器的大型行业特定服务。 供应商分发许多连接器。 如果需要行业或特定于企业的连接器,请联系供应商。

使用未经认证的自定义连接器:

  1. 将连接器文件(.pq、.pqx.m.mez)复制到用户文档范围的自定义连接器文件夹中:

    [文档]\Microsoft Power BI Desktop\Custom Connectors

    如果此文件夹不存在,请创建它。

    注释

    如果组织启用 OneDrive 同步或已知文件夹移动,可能会重定向有效的文档路径。 例如:C:\Users<user>\OneDrive - Fabrikam\Documents 不假定 %USERPROFILE%\Documents。 若要在 PowerShell 中可靠地找到正确的文件夹,请执行以下作:

    [Environment]::GetFolderPath('MyDocuments')
    Join-Path ([Environment]::GetFolderPath('MyDocuments')) 'Microsoft Power BI Desktop\Custom Connectors'
    

    将连接器文件放在那里,然后重启 Power BI Desktop。

  2. 在 Power BI Desktop 中,转到 “文件>选项和设置>选项>安全性 ”以调整数据扩展插件安全设置。

  3. 在“数据扩展”下,选择“(不推荐)允许加载任何扩展而不经过验证或发出警告”

  4. 选择 “确定”,然后重启 Power BI Desktop。

数据扩展插件安全选项的屏幕截图,其中显示了允许未认证自定义连接器的设置。

默认 Power BI Desktop 数据扩展安全设置为“(推荐)仅允许加载 Microsoft 认证和其他受信任的第三方扩展”。 使用此设置时,如果系统上存在未认证的自定义连接器,则 启动时会显示“未认证连接器 ”对话框,并列出无法加载的连接器。

“未认证连接器”对话框的屏幕截图,其中列出了阻止的自定义连接器。

如果此会话中不需要这些连接器,请选择 “确定 ”以消除错误。

通过更改 Data Extensions 安全设置或删除 自定义连接器 文件夹中未经认证的连接器来防止错误。

重要

在 DirectQuery 模式下仅使用一个自定义连接器数据源。 多个自定义连接器数据源不适用于 DirectQuery。

对自定义连接器进行签名

.mez使用受信任的代码签名证书对包进行签名可让用户加载连接器,而无需启用“允许任何扩展”设置。

高级步骤

  1. 获取代码签名证书(内部 PKI 或公共 CA)。 避免使用已弃用的 pro1 测试工具。 运行以下signtool.exe命令(Windows SDK)对.mez文件进行签名。

    signtool sign /tr http://timestamp.sectigo.com /td SHA256 /fd SHA256 /a YourConnector.mez
    ```gntool sign /tr http://timestamp.sectigo.com /td SHA256 /fd SHA256 /a YourConnector.mez
    
  2. 通过将已签名的 .mez 放在自定义连接器文件夹中来分发给用户。

  3. 在证书过期之前续订证书,并重新对每个更新的版本进行签名。

对加载行为的影响

  • 来自受信任发布者的经过正确签名的连接器会在建议的安全设置下加载。
  • 未签名或自签名连接器会触发未认证的对话框,除非启用了宽松设置。

有关证书信任要求和边缘案例(根存储、中间链、吊销),请参阅 受信任的第三方连接器

注释

时间戳 (with /tr) 在签名证书过期后保留签名有效性。

经过认证的连接器

Microsoft认证一组有限的自定义数据扩展插件。 Microsoft分发这些连接器,但不负责其性能或持续功能。 第三方开发人员维护并支持连接器。

在 Power BI Desktop 中,经过认证的第三方连接器与通用连接器和常用连接器一起显示在“获取数据”对话框中。 无需更改安全设置以使用认证的连接器。

排查自定义连接器问题

下表列出了使用自定义连接器时可能会遇到的常见问题,并提供解决它们的指导。

症状 可能的原因 决议
获取数据中没有列出连接器 文件位于错误的文件夹中或被阻止 使用 [Environment]::GetFolderPath('MyDocuments'). 检查路径。 打开文件的属性:选择该文件,然后选择 “属性”。 如果出现 ,请选择“取消阻止 ”。 重启 Power BI Desktop。
每次启动时都会显示“未认证”对话框 启用了建议的安全模式的未签名连接器 对连接器进行签名或将数据扩展插件切换为宽松模式(仅当信任源时)。
从不显示安全提示 已启用受信任(已签名)或宽松模式 检查签名:打开文件属性,然后选择“数字签名”选项卡。
连接器以无提示方式失败 M 脚本错误或身份验证类型不匹配 启用跟踪(文件 > 选项 > 诊断)。 在%LOCALAPPDATA%\Microsoft\Power BI Desktop\Traces检查日志。
更新连接器后加载错误 缓存的以前版本 重启 Power BI Desktop。 根据需要清除 文件 > 选项 > 数据加载 中的缓存。
DirectQuery 连接在使用多个自定义源时失败 不支持的方案 在 DirectQuery 中只使用一个自定义连接器。 将辅助源切换到导入模式。
凭据对话框循环 不支持的身份验证类型或不正确的 Authentication 检查 AuthenticationKind 值。 将其与 SDK 存储库中的示例进行比较。

小窍门

要获取更多诊断信息,请打开位于%LOCALAPPDATA%\Microsoft\Power BI Desktop\AnalysisServicesWorkspaces\的最新 Analysis Services 临时工作区文件夹。 检查 DataMashupTrace 和连接器特定的日志。