Поделиться через


Обработка доступа к данным

Функции источника данных

Соединитель данных упаковывает и настраивает поведение функции источника данных в библиотеке 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, пользовательский интерфейс будет представлять возможность подключения к источнику данных с помощью зашифрованного подключения. Обычно это используется для источников данных с нешифрованным резервным механизмом (как правило, источники, основанные на ODBC или ADO.NET).

Публикация в пользовательском интерфейсе

Как и запись определения источника данных, запись публикации предоставляет пользовательскому интерфейсу Power Query необходимую информацию для отображения этого расширения в диалоговом окне получения данных.

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 list Список текстовых элементов. Первый элемент определяет имя, отображаемое рядом с значком источника данных в диалоговом окне получения данных Power BI. Второй элемент (необязательно) определяет всплывающую подсказку, отображаемую при наведении указателя мыши на предыдущее имя.
Категория текст Где расширение должно отображаться в диалоговом окне получения данных . В настоящее время единственными значениями категорий с особой обработкой являются Azure и Database. Все остальные значения будут в конечном итоге в категории "Другие".
Бета-версия логический (необязательно) Если задано значение true, пользовательский интерфейс будет отображать идентификатор предварительной версии или бета-версии рядом с именем соединителя и предупреждением о том, что реализация соединителя подвержена критическим изменениям.
LearnMoreUrl текст (необязательно) Url-адрес веб-сайта, содержащий дополнительные сведения об этом источнике данных или соединителе.
Поддержка DirectQuery логический (необязательно) Предоставляет возможность использования Direct Query для вашего расширения.
SourceImage запись (необязательно) Запись, содержащая список двоичных образов (источник из файла расширения с помощью метода Extension.Contents ). Запись содержит два поля (Icon16, Icon32), каждое из которых содержит собственный список. Каждый значок должен иметь другой размер.
ТипИзображенияИсточник запись (необязательно) Аналогично SourceImage, за исключением того, что для многих штатных коннекторов принято отображать значок листа с определённым значком источника в правом нижнем углу. Наличие другого набора значков для SourceTypeImage является необязательным— многие расширения просто повторно используют один набор значков для обоих полей.