Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Testar conectividade
Os modos Pessoal e Standard do gateway de dados local dão suporte a conectores personalizados.
Ambos os modos de gateway dão suporte a Importar. A Consulta Direta só tem suporte no modo Standard. Atualmente, o OAuth para conectores personalizados por meio de gateways dá suporte apenas a administradores de gateway, não a outros usuários da fonte de dados.
Para dar suporte à atualização agendada por meio do gateway de dados local, seu conector deve implementar um manipulador TestConnection. A função é chamada quando o usuário está configurando credenciais para sua origem e usada para garantir que elas sejam válidas. O Tipo de Fonte de Dados define o manipulador de TestConnection no registro. Ele tem a seguinte assinatura:
(dataSourcePath) as list => ...
Onde dataSourcePath está o valor do Caminho da Fonte de Dados para sua função e o valor retornado é uma lista composta de:
- O nome da função a ser chamada (essa função deve ser marcada como
#shared, e geralmente é sua função de fonte de dados primária). - Um ou mais argumentos a serem passados para sua função.
Se a invocação da função resultar em um erro, TestConnection falhará e a credencial não será mantida.
Observação
Como mencionado anteriormente, o nome da função fornecido por TestConnection deve ser um membro de shared.
Exemplo: conector sem argumentos necessários
O trecho de código a seguir implementa TestConnection para uma fonte de dados sem parâmetros obrigatórios (como o do tutorial TripPin). Conectores sem parâmetros necessários (conhecidos como Singletons) não precisam de nenhuma entrada fornecida pelo usuário para testar uma conexão (além de credenciais). Nesse caso, o dataSourcePath valor é igual ao nome do Tipo de Fonte de Dados e você pode ignorá-lo.
A TripPin.Contents função é invocada sem outros parâmetros.
TripPin = [
TestConnection = (dataSourcePath) => { "TripPin.Contents" },
Authentication = [
Anonymous = []
],
Label = "TripPin"
];
Exemplo: conector com um parâmetro de URL
Se a função de fonte de dados tiver um único parâmetro necessário do tipo Uri.Type, ela dataSourcePath será igual à URL fornecida pelo usuário. O trecho de código a seguir mostra a implementação de TestConnection do exemplo do GitHub.
GithubSample = [
TestConnection = (dataSourcePath) => {"GithubSample.Contents", dataSourcePath},
Authentication = [
OAuth = [
StartLogin = StartLogin,
FinishLogin = FinishLogin,
Label = Extension.LoadString("AuthenticationLabel")
]
]
];
Exemplo: conector com parâmetros necessários
Se a função de fonte de dados tiver vários parâmetros ou um único parâmetro não URL, o dataSourcePath valor será uma cadeia de caracteres JSON que contém os parâmetros. O snippet a seguir vem do exemplo 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"
];