Dela via


Hantera gatewaystöd

Testa anslutning

Stöd för anpassade Anslut eller finns i både personliga lägen och standardlägen för den lokala datagatewayen. Båda gatewaylägena stöder import. Direct Query stöds endast i standardläge. OAuth för anpassade anslutningsappar via gatewayer stöds för närvarande endast för gatewayadministratörer, men inte för andra användare av datakällan.

Metoden för att implementera Test Anslut ion-funktioner kommer sannolikt att ändras medan Power BI Custom Data Anslut eller-funktionerna är i förhandsversion.

För att stödja schemalagd uppdatering via den lokala datagatewayen måste anslutningsappen implementera en Test Anslut ion-hanterare. Funktionen anropas när användaren konfigurerar autentiseringsuppgifter för din källa och används för att säkerställa att de är giltiga. Test Anslut ion-hanteraren anges i posten Typ av datakälla och har följande signatur:

(dataSourcePath) as list => ...

Var dataSourcePath är värdet för datakällans sökväg för din funktion och returvärdet är en lista som består av:

  • Namnet på den funktion som ska anropas (den här funktionen måste markeras som #shared, och är vanligtvis din primära datakällfunktion).
  • Ett eller flera argument som ska skickas till funktionen.

Om anropet av funktionen resulterar i ett fel anses Test Anslut ion ha misslyckats och autentiseringsuppgifterna sparas inte.

Kommentar

Som anges ovan måste funktionsnamnet som tillhandahålls av Test Anslut ion vara medlemshared.

Exempel: Anslut eller utan obligatoriska argument

Kodfragmentet nedan implementerar Test Anslut ion för en datakälla utan obligatoriska parametrar (till exempel den som hittades i TripPin-självstudien). Anslut orer utan obligatoriska parametrar (kallas "Singletons") behöver inga användarindata för att testa en anslutning (förutom autentiseringsuppgifter). I det här fallet dataSourcePath skulle värdet vara lika med namnet på datakällans typ och kan ignoreras. Funktionen TripPin.Contents anropas utan ytterligare parametrar.

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

Exempel: Anslut eller med en URL-parameter

Om datakällans funktion har en enda obligatorisk parameter av typen Uri.Typeär den dataSourcePath lika med den URL som användaren anger. Kodfragmentet nedan visar implementeringen Test Anslut ion från Github-exemplet.

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

Exempel: Anslut eller med obligatoriska parametrar

Om datakällans funktion har flera parametrar, eller en enskild parameter som inte är URL, dataSourcePath blir värdet en JSON-sträng som innehåller parametrarna. Kodfragmentet nedan kommer från DirectQueryForSQL-exemplet .

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