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