Behandle datatilgang
Datakildefunksjoner
En data Koble til eller bryter og tilpasser virkemåten til en datakildefunksjon i M-biblioteket. En utvidelse for en REST-API vil for eksempel gjøre bruk av Web.Contents-funksjonen til å foreta HTTP-forespørsler. For øyeblikket er et begrenset sett med datakildefunksjoner aktivert for å støtte utvidbarhet.
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
Funksjoner som er merket som shared
i utvidelsen, kan knyttes til en bestemt datakilde ved å inkludere et DataSource.Kind
litteralattributt på funksjonen med navnet på en datakildedefinisjonspost.
Datakildeposten definerer godkjenningstypene som støttes av datakilden, og grunnleggende varemerkingsinformasjon (for eksempel visningsnavnet/etiketten).
Navnet på posten blir den unike identifikatoren.
Hver funksjon som er knyttet til samme datakilde, må ha de samme nødvendige funksjonsparameterne, inkludert navn, type og rekkefølge. (I forbindelse med datakildetypen anses ikke en parameter som obligatorisk hvis den er merket optional
eller hvis metadataene inneholder DataSource.Path = false
.)
Funksjoner for en bestemt datakildetype kan bare bruke legitimasjon som er knyttet til denne typen. Legitimasjon identifiseres ved kjøring ved å utføre et oppslag basert på kombinasjonen av funksjonens nødvendige parametere. Hvis du vil ha mer informasjon om hvordan legitimasjon identifiseres, kan du se Datakildebaner.
Eksempel:
HelloWorld = [
Authentication = [
Implicit = []
],
Label = Extension.LoadString("DataSourceLabel")
];
Egenskaper
Tabellen nedenfor viser feltene for datakildedefinisjonsposten.
Felt | Type | Detaljer |
---|---|---|
Autentisering | Posten | Angir én eller flere typer godkjenning som støttes av datakilden. Minst én type er nødvendig. Hver type vises som et alternativ i ledeteksten for Power Query-legitimasjon. Hvis du vil ha mer informasjon, kan du se Godkjenningstyper. |
Etikett | tekst | (valgfritt) Egendefinert visningsnavn for denne utvidelsen i dialogboksen legitimasjon. |
SupportsEncryption | Logiske | (valgfritt) Når sann, vil brukergrensesnittet presentere alternativet for å koble til datakilden ved hjelp av en kryptert tilkobling. Dette brukes vanligvis for datakilder med en ikke-kryptert tilbakefallsmekanisme (vanligvis ODBC eller ADO.NET baserte kilder). |
Publiser til brukergrensesnittet
På samme måte som definisjonsposten for datakilden, gir publiser-posten Power Query-brukergrensesnittet informasjonen den trenger for å vise denne utvidelsen 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") }
];
Egenskaper
Tabellen nedenfor viser feltene for publiser-posten.
Felt | Type | Detaljer |
---|---|---|
ButtonText | liste | Liste over tekstelementer. Det første elementet definerer navnet som vises ved siden av datakildeikonet i dialogboksen Hent data i Power BI. Det andre elementet (valgfritt) definerer verktøytipset som skal vises når det foregående navnet holdes over. |
Kategori | tekst | Der utvidelsen skal vises i dialogboksen Hent data . For øyeblikket er Azure de eneste kategoriverdiene med spesialhånding og Database . Alle andre verdier vil ende opp under Kategorien Annet. |
Beta | Logiske | (valgfritt) Når den er satt til sann, viser brukergrensesnittet en forhåndsversjon/beta-identifikator ved siden av koblingsnavnet og en advarselsdialogboks om at implementeringen av koblingen kan bryte endringer. |
LearnMoreUrl | tekst | (valgfritt) Url-adresse til nettsted som inneholder mer informasjon om denne datakilden eller koblingen. |
SupportsDirectQuery | Logiske | (valgfritt) Aktiverer Direct Query for utvidelsen. |
SourceImage | Posten | (valgfritt) En post som inneholder en liste over binære bilder (hentet fra filtypen ved hjelp av metoden Extension.Contents ). Posten inneholder to felt (Icon16, Icon32), hver med sin egen liste. Hvert ikon skal ha en annen størrelse. |
SourceTypeImage | Posten | (valgfritt) I likhet med SourceImage, bortsett fra konvensjonen for mange ut av boksen koblinger er å vise et arkikon med kildespesifikke ikonet nederst til høyre. Det er valgfritt å ha et annet sett med ikoner for SourceTypeImage – mange utvidelser bruker ganske enkelt det samme settet med ikoner for begge feltene. |