Håndtering af dataadgang
Datakildefunktioner
En data Forbind eller ombryder og tilpasser funktionsmåden for en datakildefunktion i M-biblioteket. En udvidelse til en REST-API vil f.eks. gøre brug af funktionen Web.Contents til at foretage HTTP-anmodninger. I øjeblikket er et begrænset sæt datakildefunktioner blevet aktiveret til at understøtte udvidelse.
Eksempel:
[DataSource.Kind="HelloWorld", Publish="HelloWorld.Publish"]
shared HelloWorld.Contents = (optional message as text) =>
let
message = if (message <> null) then message else "Hello world"
in
message;
Type af datakilde
Funktioner, der er markeret som shared
i din udvidelse, kan knyttes til en bestemt datakilde ved at inkludere en DataSource.Kind
konstantattribut i funktionen med navnet på en datakildedefinitionspost.
Posten Datakilde definerer de godkendelsestyper, der understøttes af datakilden, og grundlæggende brandingoplysninger (f.eks. det viste navn/mærkat).
Navnet på posten bliver det entydige id.
Hver funktion, der er knyttet til den samme datakilde, skal have de samme påkrævede funktionsparametre, herunder navn, type og rækkefølge. (Med henblik på datakildetypen anses en parameter ikke for påkrævet, hvis den er markeret optional
, eller hvis dens metadata indeholder DataSource.Path = false
.)
Funktioner for en bestemt datakildetype kan kun bruge legitimationsoplysninger, der er knyttet til denne type. Legitimationsoplysninger identificeres på kørselstidspunktet ved at udføre et opslag baseret på kombinationen af funktionens påkrævede parametre. Du kan få flere oplysninger om, hvordan legitimationsoplysninger identificeres, under Datakildestier.
Eksempel:
HelloWorld = [
Authentication = [
Implicit = []
],
Label = Extension.LoadString("DataSourceLabel")
];
Egenskaber
I følgende tabel vises felterne for datakildedefinitionsposten.
Felt | Skriv | Detaljer |
---|---|---|
Godkendelse | Post | Angiver en eller flere godkendelsestyper, der understøttes af datakilden. Der kræves mindst én type. Hver type vises som en indstilling i prompten om legitimationsoplysninger til Power Query. Du kan få flere oplysninger under Godkendelsestyper. |
Mærkat | tekst | (valgfrit) Brugervenligt vist navn for denne udvidelse i dialogboksen med legitimationsoplysninger. |
SupportsEncryption | Logiske | (valgfrit) Når sand, viser brugergrænsefladen muligheden for at oprette forbindelse til datakilden ved hjælp af en krypteret forbindelse. Dette bruges typisk til datakilder med en ikke-krypteret reservemekanisme (generelt ODBC- eller ADO.NET-baserede kilder). |
Udgiv til brugergrænseflade
På samme måde som med datakildedefinitionsposten giver publiceringsposten brugergrænsefladen i Power Query de oplysninger, den skal bruge for at vise denne udvidelse i dialogboksen Hent data.
Eksempel:
HelloWorld.Publish = [
Beta = true,
ButtonText = { Extension.LoadString("FormulaTitle"), Extension.LoadString("FormulaHelp") },
SourceImage = HelloWorld.Icons,
SourceTypeImage = HelloWorld.Icons
];
HelloWorld.Icons = [
Icon16 = { Extension.Contents("HelloWorld16.png"), Extension.Contents("HelloWorld20.png"), Extension.Contents("HelloWorld24.png"), Extension.Contents("HelloWorld32.png") },
Icon32 = { Extension.Contents("HelloWorld32.png"), Extension.Contents("HelloWorld40.png"), Extension.Contents("HelloWorld48.png"), Extension.Contents("HelloWorld64.png") }
];
Egenskaber
I følgende tabel vises felterne for din publiceringspost.
Felt | Skriv | Detaljer |
---|---|---|
Knaptekst | list | Liste over tekstelementer. Det første element definerer det navn, der vises ud for datakildens ikon i dialogboksen Hent data i Power BI. Det andet element (valgfrit) definerer det værktøjstip, der vises, når det foregående navn holdes over musen. |
Kategori | tekst | Hvor udvidelsen skal vises i dialogboksen Hent data . I øjeblikket er Azure de eneste kategoriværdier med speciallevering og Database . Alle andre værdier ender under kategorien Andet. |
Beta | Logiske | (valgfrit) Når den er angivet til true, viser brugergrænsefladen et eksempel-/beta-id ud for connectornavnet og en advarselsdialogboks om, at implementeringen af connectoren kan ændres. |
LearnMoreUrl | tekst | (valgfrit) URL-adresse til websted, der indeholder flere oplysninger om denne datakilde eller connector. |
SupportsDirectQuery | Logiske | (valgfrit) Aktiverer Direct Query for din udvidelse. |
SourceImage | Post | (valgfrit) En post, der indeholder en liste over binære billeder (hentet fra filtypenavnsfilen ved hjælp af metoden Extension.Contents ). Posten indeholder to felter (Icon16, Icon32), der hver især har sin egen liste. Hvert ikon skal have en anden størrelse. |
SourceTypeImage | Post | (valgfrit) På samme måde som SourceImage er konventionen for mange out of the box-connectors at vise et arkikon med det kildespecifikke ikon i nederste højre hjørne. Det er valgfrit at have et andet sæt ikoner til SourceTypeImage – mange udvidelser genbruger blot det samme sæt ikoner til begge felter. |