Del via


Behandling av gateway-støtte

Test tilkoblingen

Egendefinert støtte for Koble til or er tilgjengelig i både personlige moduser og standardmoduser for den lokale datagatewayen. Begge gatewaymodusene støtter import. Direktespørring støttes bare i standardmodus. OAuth for egendefinerte koblinger via gatewayer støttes for øyeblikket bare for gateway-administratorer, men ikke andre datakildebrukere.

Metoden for implementering av test Koble til ionfunksjonalitet vil sannsynligvis endres mens funksjonaliteten for egendefinerte data Koble til or for Power BI er i forhåndsversjon.

Hvis du vil støtte planlagt oppdatering gjennom den lokale datagatewayen, må koblingen implementere en Test Koble til ion-behandling. Funksjonen kalles når brukeren konfigurerer legitimasjon for kilden, og brukes til å sikre at de er gyldige. Test Koble til ion-behandling er angitt i datakildetypeposten, og har følgende signatur:

(dataSourcePath) as list => ...

Hvor dataSourcePath er verdien for datakildebanen for funksjonen, og returverdien er en liste som består av:

  • Navnet på funksjonen som skal kalles (denne funksjonen må merkes som #shared, og er vanligvis den primære datakildefunksjonen).
  • Ett eller flere argumenter som skal sendes til funksjonen.

Hvis aktiveringen av funksjonen resulterer i en feil, anses test Koble til ion å ha mislyktes, og legitimasjonen beholdes ikke.

Merk

Som angitt ovenfor, må funksjonsnavnet angitt av Test Koble til ion være medlemshared.

Eksempel: Koble til eller uten nødvendige argumenter

Kodesnutten nedenfor implementerer Test Koble til ion for en datakilde uten nødvendige parametere (for eksempel den som ble funnet i TripPin-opplæringen). Koble til orer uten nødvendige parametere (kalt Singletons) trenger ingen brukerinndata for å teste en tilkobling (annet enn legitimasjon). I dette tilfellet dataSourcePath vil verdien være lik navnet på datakildetypen, og kan ignoreres. Funksjonen TripPin.Contents aktiveres uten flere parametere.

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

Eksempel: Koble til eller med en NETTADRESSE-parameter

Hvis datakildefunksjonen har én enkelt nødvendig parameter av typen Uri.Type, dataSourcePath vil den være lik nettadressen som brukeren oppgir. Snutten nedenfor viser Test Koble til ion-implementeringen fra Github-eksemplet.

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

Eksempel: Koble til or med obligatoriske parametere

Hvis datakildefunksjonen har flere parametere eller én parameter som ikke er nettadresse, dataSourcePath vil verdien være en JSON-streng som inneholder parameterne. Snutten nedenfor kommer fra DirectQueryForSQL-eksemplet .

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