Del via


Håndtering af dataadgang

Datakildefunktioner

En Data Connector indpakker og tilpasser adfærden af en datakildefunktion i M-biblioteket. For eksempel ville en udvidelse til et REST API benytte Web.Contents-funktionen til at lave HTTP-forespørgsler. I øjeblikket er et begrænset sæt datakildefunktioner aktiveret til at understøtte udvidelsesmuligheder.

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;

Datakildetype

Funktioner markeret som shared i din udvidelse kan knyttes til en specifik datakilde ved at inkludere en DataSource.Kind literal attribut på funktionen med navnet på en Data Source definitionspost. Data Source-posten definerer de autentificeringstyper, der understøttes af din datakilde, samt grundlæggende brandinginformation (som displaynavn/etikett). Navnet på posten bliver dens unikke identifikator.

Hver funktion, der er tilknyttet den samme datakilde, skal have de samme krævede funktionsparametre, herunder navn, type og rækkefølge. (Til formål med Data Source Kind anses en parameter ikke for at være påkrævet, hvis den er markeret optional eller hvis dens metadata indeholder DataSource.Path = false.)

Funktioner for en specifik datakildetype kan kun bruge legitimationsoplysninger tilknyttet den type. Legitimationsoplysninger identificeres under kørsel ved at udføre et opslag baseret på kombinationen af funktionens krævede parametre. For mere information om, hvordan legitimationsoplysninger identificeres, se Data Source Paths.

Eksempel:

HelloWorld = [
    Authentication = [
        Implicit = []
    ],
    Label = Extension.LoadString("DataSourceLabel")
];

Egenskaber

Følgende tabel viser felterne for din Data Source-definitionspost.

Felt Type Detaljer
Godkendelse post Specificerer en eller flere typer autentificering, der understøttes af din datakilde. Mindst én type er påkrævet. Hver formular vil blive vist som en mulighed i Power Query-legitimationsprompten. For mere information, se Godkendelsestyper.
Navn sende sms (valgfrit) Venligt visningsnavn for denne udvidelse i legitimationsdialoger.
SupportsEncryption logisk (valgfrit) Når det er sandt, vil UI'en vise muligheden for at forbinde til datakilden via en krypteret forbindelse. Dette bruges typisk til datakilder med en ikke-krypteret fallback-mekanisme (typisk ODBC- eller ADO.NET-baserede kilder).

Udgiv til UI

Ligesom Data Source definitionsposten giver Publicer-posten Power Query-brugerfladen den information, den har brug for for at eksponere denne udvidelse i Get Data-dialogen .

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

Følgende tabel viser felterne for din Publicer-post.

Felt Type Detaljer
ButtonText liste Liste over tekstelementer. Det første element definerer navnet, der vises ved siden af datakildens ikon i Power BI Get Data-dialogen . Det andet element (valgfrit) definerer det tooltip, der vises, når det foregående navn føres over.
Kategori sende sms Hvor udvidelsen skal vises i hent data-dialogen . I øjeblikket er Azure de eneste kategoriværdier med særlig hånd og Database. Alle andre værdier ender under kategorien Anden.
Beta logisk (valgfrit) Når den er sat til true, vil UI'en vise en Preview/Beta-identifikator ved siden af dit connectornavn og en advarselsdialog om, at implementeringen af connectoren er underlagt breaking changes.
LearnMoreUrl sende sms (valgfrit) Henvisning til hjemmeside med mere information om denne datakilde eller connector.
SupportsDirectQuery logisk (valgfrit) Aktiverer Direct Query for din udvidelse.
SourceImage post (valgfrit) En post, der indeholder en liste over binære billeder (hentet fra filudvidelsesfilen ved hjælp af Extension.Contents-metoden ). Posten indeholder to felter (Icon16, Icon32), hver med sin egen liste. Hvert ikon bør have en forskellig størrelse.
SourceTypeImage post (valgfrit) Ligesom SourceImage, bortset fra at konventionen for mange færdige stik er at vise et ark-ikon med det kildespecifikke ikon i nederste højre hjørne. At have et andet sæt ikoner til SourceTypeImage er valgfrit—mange udvidelser genbruger blot det samme sæt ikoner til begge felter.