Yhdyskäytävän tuen käsittely

Testiyhteys

Sekä henkilökohtaiset että standard-tilat paikallisessa datayhdyskäytävässä tukevat räätälöityjä liittimiä.

Molemmat yhdyskäytävätilat tukevat tuontia. Direct Query on tuettu vain Standard-tilassa. OAuth mukautetuille liittimille porttien kautta tukee tällä hetkellä vain yhdyskäytävän ylläpitäjiä, ei muita tietolähteiden käyttäjiä.

Jotta aikataulutettu päivitys voidaan tukea paikallisen dataportin kautta, liittimesi täytyy toteuttaa TestConnection-käsittelijä. Funktiota kutsutaan, kun käyttäjä konfiguroi tunnistetietoja lähteellesi, ja sitä käytetään varmistamaan, että ne ovat päteviä. Data Source Kind asettaa TestConnection-käsittelijän tietueeseen. Siinä on seuraava allekirjoitus:

(dataSourcePath) as list => ...

Missä dataSourcePath on funktion Data Source Path -arvo ja palautusarvo on lista, joka koostuu seuraavista osista:

  • Kutsuttavan funktion nimi (tämä funktio on merkitty , #sharedja se on yleensä ensisijainen tietolähdefunktiosi).
  • Yksi tai useampi argumentti, jotka voit välittää funktiollesi.

Jos funktion kutsu aiheuttaa virheen, TestConnection epäonnistuu eikä tunnistetta säilytetä.

Note

Kuten aiemmin todettiin, TestConnectionin tarjoaman funktion nimen on oltava shared jäsen.

Esimerkki: Liitin ilman vaadittuja argumentteja

Seuraava koodipätkä toteuttaa TestConnectionin tietolähteelle, jolla ei ole vaadittuja parametreja (kuten TripPin-opetusohjelmassa). Liittimet, joilla ei ole vaadittuja parametreja (kutsutaan Singletonsiksi), eivät tarvitse käyttäjän antamaa syötettä yhteyden testaamiseen (paitsi tunnistetiedot). Tässä dataSourcePath tapauksessa arvo on yhtä suuri kuin Data Source Kindin nimi, ja voit jättää sen huomiotta.

Funktiota TripPin.Contents kutsutaan ilman muita parametreja.

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

Esimerkki: Liitin, jossa on URL-parametri

Jos tietolähdefunktiollasi on yksi vaadittu parametri tyyppi Uri.Type, se dataSourcePath on yhtä suuri kuin käyttäjän antama URL. Seuraava pätkä esittää TestConnection-toteutuksen GitHub-näytteestä.

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

Esimerkki: Liitin, jossa vaaditaan parametreja

Jos tietolähdefunktiossasi on useita parametreja tai yksi ei-URL-parametri, arvo dataSourcePath on JSON-merkkijono, joka sisältää parametrit. Seuraava pätkä on peräisin DirectQueryForSQL-näytteestä .

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"
];