Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
M engine identifikuje dátový zdroj pomocou kombinácie jeho druhu a cesty. Keď sa počas vyhodnocovania dotazu objaví dátový zdroj, M engine sa snaží nájsť zodpovedajúce prihlasovacie údaje. Ak sa nenájdu žiadne prihlasovacie údaje, engine vráti špeciálnu chybu, ktorá vedie k výzve na prihlasovacie údaje v Power Query.
Hodnota Kind pochádza z definície Data Source Kind .
Hodnota Path je odvodená z požadovaných parametrovvašej dátovej zdrojovej funkcie. Voliteľné parametre nie sú zahrnuté v identifikátore cesty zdroja dát. Výsledkom je, že všetky funkcie zdroja dát spojené s druhom zdroja musia mať rovnaké parametre. Existuje špeciálne spracovanie pre funkcie, ktoré majú jeden parameter typu Uri.Type. Podrobnosti nájdete v sekcii Funkcie s parametrom URI .
Príklad ukladania prihlasovacích údajov môžete vidieť v dialógovom paneli nastavení zdroja dát v Power BI Desktop. V tomto dialógu je Kind reprezentovaný ikonou a hodnota Path sa zobrazuje ako text.
Poznámka
Ak počas vývoja zmeníte požadované parametre funkcie zdroja dát, predtým uložené prihlasovacie údaje už nefungujú (pretože hodnoty cesty už nesedia). Všetky uložené prihlasovacie údaje by ste mali vymazať vždy, keď zmeníte parametre funkcie zdroja dát. Ak sa nájdu nekompatibilné prihlasovacie údaje, môžete počas behu dostať chybu.
Formát cesty zdroja dát
Hodnota Path pre zdroj dát je odvodená z požadovaných parametrov funkcie zdroja dát. Požadované parametre je možné z cesty vylúčiť pridaním DataSource.Path = false do metadát funkcie. Pre viac informácií choďte do sekcie Vylúčenie požadovaných parametrov z cesty zdroja dát.
Predvolene vidíte skutočnú hodnotu reťazca v dialógovom okne nastavení zdroja dát v Power BI Desktop a v výzve na prihlasovacie údaje. Ak definícia Data Source Kind obsahuje hodnotu Label , uvidíte namiesto nej hodnotu štítku.
Napríklad funkcia zdroja dát vo vzorke HelloWorldWithDocs má nasledujúci podpis:
HelloWorldWithDocs.Contents = (message as text, optional count as number) as table => ...
Funkcia má jeden požadovaný parameter (message) typu text, a používa sa na výpočet cesty zdroja dát. Voliteľný parameter (count) je ignorovaný. Cesta by bola zobrazená nasledovne:
Prompt na získanie kvalifikácie
Nastavenia zdrojov dát UI
Keď je definovaná hodnota štítku, hodnota cesty zdroja dát sa nezobrazí:
Poznámka
Momentálne odporúčame, aby ste nepridávali Štítok pre váš dátový zdroj, ak má vaša funkcia požadované parametre, pretože používatelia nebudú schopní rozlíšiť rôzne zadané prihlasovacie údaje. Dúfame, že to v budúcnosti zlepšíme (teda umožníme dátovým konektorom zobrazovať vlastné cesty zdroja dát).
Vylúčenie požadovaných parametrov z cesty zdroja dát
Ak chcete, aby parameter funkcie bol povinný, ale nebol zahrnutý ako súčasť cesty zdroja dát, môžete pridať DataSource.Path = false do metadát dokumentácie funkcie. Túto vlastnosť možno pridať k jednému alebo viacerým parametrom vašej funkcie. Toto pole odstráni hodnotu z cesty zdroja dát (čo znamená, že už nie je odovzdávaná vašej TestConnection funkcii), takže by sa malo používať len pre parametre, ktoré nie sú potrebné na identifikáciu zdroja dát alebo na rozlíšenie používateľských prihlasovacích údajov.
Napríklad konektor vo vzorke HelloWorldWithDocs by vyžadoval rôzne prihlasovacie údaje pre rôzne message hodnoty.
Pridaním DataSource.Path = false parametra message sa odstráni z výpočtu cesty zdroja dát, čím sa konektor stáva "singletonom". Všetky volania sa HelloWorldWithDocs.Contents považujú za rovnaký zdroj dát a používateľ zadá prihlasovacie údaje len raz.
HelloWorldType = type function (
message as (type text meta [
DataSource.Path = false,
Documentation.FieldCaption = "Message",
Documentation.FieldDescription = "Text to display",
Documentation.SampleValues = {"Hello world", "Hola mundo"}
]),
optional count as (type number meta [
Documentation.FieldCaption = "Count",
Documentation.FieldDescription = "Number of times to repeat the message",
Documentation.AllowedValues = { 1, 2, 3 }
]))
as table meta [
Documentation.Name = "Hello - Name",
Documentation.LongDescription = "Hello - Long Description",
Documentation.Examples = {[
Description = "Returns a table with 'Hello world' repeated 2 times",
Code = "HelloWorldWithDocs.Contents(""Hello world"", 2)",
Result = "#table({""Column1""}, {{""Hello world""}, {""Hello world""}})"
],[
Description = "Another example, new message, new count!",
Code = "HelloWorldWithDocs.Contents(""Goodbye"", 1)",
Result = "#table({""Column1""}, {{""Goodbye""}})"
]}
];
Funkcie s parametrom Uri
Keďže dátové zdroje s identifikátorom založeným na URI sú také bežné, v rozhraní Power Query je špeciálne spracovanie pri práci s cestami zdrojov založenými na Uri. Keď narazíte na zdroj dát založený na Uri, dialógové okno s prihlasovacími informáciami poskytuje rozbaľovacie menu, ktoré umožňuje používateľovi vybrať základnú cestu namiesto celej cesty (a všetkých cest medzi nimi).
Keďže Uri.Type je v jazyku M atributovaný typ , nie primitívny , budete musieť použiť funkciu Value.ReplaceType na označenie, že váš textový parameter by mal byť považovaný za Uri.
shared GithubSample.Contents = Value.ReplaceType(Github.Contents, type function (url as Uri.type) as any);