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