Partilhar via


Gestão do Suporte ao Gateway

Testar Ligação

O suporte para o Conector Personalizado está disponível nos modos Pessoal e Padrão do gateway de dados local. Ambos os modos de gateway suportam Import. A Consulta Direta só é suportada no modo Standard. O OAuth para conectores personalizados via gateways é atualmente suportado apenas para administradores de gateway, mas não para outros utilizadores de fontes de dados.

O método para implementar a funcionalidade TestConnection deverá mudar enquanto a funcionalidade Power BI Custom Data Connector estiver em pré-visualização.

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 manipulador TestConnection está definido no registo Data Source Kind e 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 é considerado falhado, e a credencial não será mantida.

Observação

Como referido acima, o nome da função fornecido pelo TestConnection deve ser um shared membro.

Exemplo: Conector sem argumentos obrigatórios

O excerto de código abaixo implementa o TestConnection para uma fonte de dados sem parâmetros necessários (como o encontrado no tutorial do TripPin). Conectores sem parâmetros obrigatórios (referidos como 'Singletons') não necessitam de qualquer entrada fornecida pelo utilizador para testar uma ligação (para além de credenciais). Neste caso, o dataSourcePath valor seria igual ao nome do Tipo da Fonte de Dados, e pode ser ignorado. A TripPin.Contents função é invocada sem parâmetros adicionais.

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 necessário do tipo Uri.Type, será dataSourcePath igual à URL fornecida pelo utilizador. O excerto abaixo mostra a implementação do 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 sua função fonte de dados tiver múltiplos parâmetros, ou um único parâmetro que não seja URL, então o dataSourcePath valor será uma string JSON contendo os parâmetros. O excerto abaixo 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"
];