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


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

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

Объект data Подключение or упаковывает и настраивает поведение функции источника данных в библиотеке M. Например, расширение REST API использует функцию Web.Contents для выполнения HTTP-запросов. В настоящее время ограниченный набор функций источника данных включен для поддержки расширяемости.

Пример:

[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.)

Функции для определенного типа источника данных могут использовать только учетные данные, связанные с этим типом. Учетные данные определяются во время выполнения путем подстановки на основе сочетания необходимых параметров функции. Дополнительные сведения о том, как идентифицируются учетные данные, см. в разделе "Пути источника данных".

Пример:

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

Свойства

В следующей таблице перечислены поля для записи определения источника данных.

Поле Тип Сведения
Проверка подлинности record Указывает один или несколько типов проверки подлинности, поддерживаемых источником данных. Требуется по крайней мере один вид. Каждый тип будет отображаться в качестве параметра в командной строке учетных данных Power Query. Дополнительные сведения см. в разделе "Типы проверки подлинности".
Этикетка text (необязательно) Понятное отображаемое имя этого расширения в диалоговых окнах учетных данных.
ПоддержкаEncryption Логические (необязательно) Если задано значение true, пользовательский интерфейс будет представлять возможность подключения к источнику данных с помощью зашифрованного подключения. Обычно это используется для источников данных с нешифрованным резервным механизмом (как правило, ODBC или ADO.NET на основе источников).

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

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

Пример:

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