Håndtering af gatewaysupport
Test forbindelse
Understøttelse af brugerdefinerede Forbind eller er tilgængelig i både personlige tilstande og standardtilstande for datagatewayen i det lokale miljø. Begge gatewaytilstande understøtter Import. Direct Query understøttes kun i standardtilstand. OAuth for brugerdefinerede connectors via gateways understøttes i øjeblikket kun for gatewayadministratorer, men ikke andre brugere af datakilden.
Metoden til implementering af funktionaliteten test Forbind ion ændres sandsynligvis, mens power BI Custom Data Forbind or-funktionaliteten er en prøveversion.
Hvis du vil understøtte planlagt opdatering via datagatewayen i det lokale miljø, skal din connector implementere en Test Forbind ion-handler. Funktionen kaldes, når brugeren konfigurerer legitimationsoplysninger for din kilde og bruges til at sikre, at de er gyldige. Test Forbind ion-handleren er angivet i posten Datakildetype og har følgende signatur:
(dataSourcePath) as list => ...
Hvor dataSourcePath
er datakildestiværdien for din funktion, og returværdien er en liste, der består af:
- Navnet på den funktion, der skal kaldes (denne funktion skal markeres som
#shared
, og er normalt din primære datakildefunktion). - Et eller flere argumenter, der skal overføres til din funktion.
Hvis aktiveringen af funktionen resulterer i en fejl, anses Test Forbind ion for at være mislykket, og legitimationsoplysningerne bevares ikke.
Bemærk
Som angivet ovenfor skal funktionsnavnet fra Test Forbind ion være medlemshared
.
Eksempel: Forbind eller uden obligatoriske argumenter
Kodestykket nedenfor implementerer Test Forbind ion for en datakilde uden påkrævede parametre (f.eks. det, der blev fundet i TripPin-selvstudiet). Forbind orer uden påkrævede parametre (kaldet 'Singletons') behøver ikke noget brugerinput for at teste en forbindelse (bortset fra legitimationsoplysninger). I dette tilfælde er værdien dataSourcePath
lig med navnet på datakildetypen og kan ignoreres.
Funktionen TripPin.Contents
aktiveres uden yderligere parametre.
TripPin = [
TestConnection = (dataSourcePath) => { "TripPin.Contents" },
Authentication = [
Anonymous = []
],
Label = "TripPin"
];
Eksempel: Forbind or med en URL-parameter
Hvis din datakildefunktion har en enkelt påkrævet parameter af typen Uri.Type
, er den dataSourcePath
lig med den URL-adresse, som brugeren har angivet. Kodestykket nedenfor viser implementeringen af Test Forbind ion fra Github-eksemplet.
GithubSample = [
TestConnection = (dataSourcePath) => {"GithubSample.Contents", dataSourcePath},
Authentication = [
OAuth = [
StartLogin = StartLogin,
FinishLogin = FinishLogin,
Label = Extension.LoadString("AuthenticationLabel")
]
]
];
Eksempel: Forbind eller med påkrævede parametre
Hvis din datakildefunktion har flere parametre eller en enkelt parameter, der ikke er URL-adresse, vil værdien dataSourcePath
være en JSON-streng, der indeholder parametrene. Kodestykket 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"
];