Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Testar ligação
Tanto os modos Pessoal como o Standard do gateway de dados local suportam conectores personalizados.
Ambos os modos de gateway suportam Import. A Consulta Direta só é suportada no modo Standard. O OAuth para conectores personalizados através de gateways atualmente suporta apenas administradores de gateway, não outros utilizadores de fontes de dados.
Para suportar a atualização programada através do gateway de dados local, o seu conector deve implementar um handler TestConnection. A função é chamada quando o utilizador está a configurar credenciais para a sua fonte, e usada para garantir que são válidas. O Data Source Kind coloca o handler TestConnection em registo. Tem a seguinte assinatura:
(dataSourcePath) as list => ...
Onde dataSourcePath é o valor do Caminho da Fonte de Dados para a sua função, e o valor de retorno é uma lista composta por:
- O nome da função a chamar (esta função deve ser marcada como
#shared, e normalmente é a sua principal função fonte de dados). - Um ou mais argumentos para passar à tua função.
Se a invocação da função resultar num erro, o TestConnection falha e a credencial não é mantida.
Observação
Conforme indicado anteriormente, o nome da função fornecido por TestConnection deve ser um membro shared.
Exemplo: Conector sem argumentos obrigatórios
O seguinte excerto de código implementa o TestConnection para uma fonte de dados sem parâmetros necessários (como o encontrado no tutorial do TripPin). Conectores sem parâmetros necessários (chamados Singletons) não precisam de qualquer input fornecido pelo utilizador para testar uma ligação (para além das credenciais). Neste caso, o dataSourcePath valor é igual ao nome do Tipo da Fonte de Dados, e 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 URL
Se a sua função fonte de dados tiver um único parâmetro exigido do tipo Uri.Type, é dataSourcePath igual à URL fornecida pelo utilizador. O excerto seguinte mostra a implementação do TestConnection a partir 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 da sua fonte de dados tiver múltiplos parâmetros, ou um único parâmetro que não seja URL, então o dataSourcePath valor é uma string JSON contendo os parâmetros. O seguinte excerto provém 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"
];