Del via


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