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


Обработка поддержки шлюза

Проверить подключение

Поддержка пользовательских Подключение or доступна как в персональных, так и в стандартных режимах локального шлюза данных. Оба режима шлюза поддерживают импорт. Прямой запрос поддерживается только в стандартном режиме. OAuth для пользовательских соединителей через шлюзы в настоящее время поддерживается только для администраторов шлюзов, но не для других пользователей источника данных.

Метод реализации функций Test Подключение ion, скорее всего, изменится, пока функциональность пользовательских данных Power BI Подключение or находится в предварительной версии.

Чтобы поддерживать запланированное обновление через локальный шлюз данных, соединитель должен реализовать обработчик test Подключение ion. Функция вызывается, когда пользователь настраивает учетные данные для источника и используется для обеспечения их допустимости. Обработчик test Подключение ion задается в записи типа источника данных и имеет следующую подпись:

(dataSourcePath) as list => ...

Где dataSourcePath используется значение пути источника данных для функции, а возвращаемое значение — это список, состоящий из следующих элементов:

  • Имя вызываемой функции (эта функция должна быть помечена как #sharedосновная функция источника данных).
  • Один или несколько аргументов для передачи функции.

Если вызов функции приводит к ошибке, проверка Подключение ion считается неудачной, и учетные данные не будут сохранены.

Примечание.

Как указано выше, имя функции, предоставленное Test Подключение ion должно быть shared членом.

Пример: Подключение or без обязательных аргументов

Приведенный ниже фрагмент кода реализует test Подключение ion для источника данных без обязательных параметров (например, найденных в руководстве По TripPin). Подключение оры без обязательных параметров (которые называются singletons) не требуют ввода, предоставленного пользователем для проверки подключения (кроме учетных данных). В этом случае dataSourcePath значение равно имени типа источника данных и может быть проигнорировано. Функция TripPin.Contents вызывается без дополнительных параметров.

TripPin = [
    TestConnection = (dataSourcePath) => { "TripPin.Contents" },
    Authentication = [
        Anonymous = []
    ],
    Label = "TripPin"
];

Пример: Подключение or с параметром URL-адреса

Если функция источника данных имеет один обязательный параметр типа Uri.Type, его dataSourcePath значение будет равно URL-адресу, предоставленному пользователем. В приведенном ниже фрагменте показана реализация Test Подключение ion из примера Github.

GithubSample = [
    TestConnection = (dataSourcePath) => {"GithubSample.Contents", dataSourcePath},
    Authentication = [
        OAuth = [
            StartLogin = StartLogin,
            FinishLogin = FinishLogin,
            Label = Extension.LoadString("AuthenticationLabel")
        ]
    ]
];

Пример: Подключение or с необходимыми параметрами

Если функция источника данных имеет несколько параметров или один параметр, отличный от URL-адреса, dataSourcePath то значение будет строкой JSON, содержащей параметры. Приведенный ниже фрагмент кода взят из примера DirectQueryForSQL .

DirectSQL = [
    TestConnection = (dataSourcePath) =>
        let
            json = Json.Document(dataSourcePath),
            server = json[server],
            database = json[database]
        in
            { "DirectSQL.Database", server, database },
    Authentication = [
        Windows = [],
        UsernamePassword = []
    ],
    Label = "Direct Query for SQL"
];