Håndtering af gatewaysupport

Test forbindelse

Både Personal- og Standardtilstanden af den lokale datagateway understøtter specialtilpassede stik.

Begge gateway-tilstande understøtter Import. Direkte forespørgsel understøttes kun i Standardtilstand. OAuth for brugerdefinerede connectors gennem gateways understøtter i øjeblikket kun gateway-administratorer, ikke andre datakildebrugere.

For at understøtte planlagt opdatering gennem den lokale datagateway skal din connector implementere en TestConnection-handler. Funktionen kaldes, når brugeren konfigurerer legitimationsoplysninger for din kilde, og bruges til at sikre, at de er gyldige. Data Source Type sætter TestConnection-håndteren i registrering. Den har følgende signatur:

(dataSourcePath) as list => ...

Hvor dataSourcePath er Data Source Path-værdien for din funktion, og returværdien er en liste bestående af:

  • Navnet på funktionen, der skal kaldes (denne funktion skal markeres som #shared, og er normalt din primære datakildefunktion).
  • Et eller flere argumenter til din funktion.

Hvis aktiveringen af funktionen resulterer i en fejl, fejler TestConnection, og legitimationsoplysningerne bliver ikke bevaret.

Notat

Som nævnt tidligere skal funktionsnavnet, som TestConnection angiver, være et shared medlem.

Eksempel: Connector uden nødvendige argumenter

Følgende kodeuddrag implementerer TestConnection for en datakilde uden nødvendige parametre (såsom den, der findes i TripPin-tutorialen). Stik uden nødvendige parametre (kaldet Singletons) behøver ikke nogen brugerindtastet input for at teste en forbindelse (bortset fra legitimationsoplysninger). I dette tilfælde er værdien dataSourcePath lig med navnet på Data Source Kind, og du kan ignorere den.

Funktionen TripPin.Contents kaldes uden andre parametre.

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

Eksempel: Connector med en URL-parameter

Hvis din datakildefunktion har en enkelt krævet parameter af typen Uri.Type, er den dataSourcePath lig med den URL, brugeren har oplyst. Følgende uddrag viser TestConnection-implementeringen fra GitHub-eksemplet.

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

Eksempel: Stik med nødvendige parametre

Hvis din datakildefunktion har flere parametre eller en enkelt ikke-URL-parameter, så dataSourcePath er værdien en JSON-streng, der indeholder parametrene. Følgende uddrag stammer 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"
];