Umgang mit dem Datenzugriff
Ein Datenconnector umschließt und passt das Verhalten einer Datenquellenfunktion in der M-Bibliothek an. Beispielsweise würde eine Erweiterung für eine REST-API die Web.Contents-Funktion verwenden, um HTTP-Anforderungen zu stellen. Derzeit wurde eine begrenzte Gruppe von Datenquellenfunktionen aktiviert, um die Erweiterbarkeit zu unterstützen.
Beispiel:
[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;
Funktionen, die als shared
in der Erweiterung gekennzeichnet sind, können einer bestimmten Datenquelle zugeordnet werden, indem sie ein DataSource.Kind
Literal-Attribut für die Funktion mit dem Namen eines Datenquellendefinitionsdatensatzes einschließen.
Der Datensatz der Datenquelle definiert die Authentifizierungstypen, die von Ihrer Datenquelle unterstützt werden, und grundlegende Brandinginformationen (z. B. anzeigename/Bezeichnung).
Der Name des Datensatzes wird zu seinem eindeutigen Bezeichner.
Jede Funktion, die derselben Datenquelle zugeordnet ist, muss über dieselben erforderlichen Funktionsparameter verfügen, einschließlich Name, Typ und Reihenfolge. (Für Zwecke der Datenquellenart gilt ein Parameter nicht als erforderlich, wenn er markiert optional
ist oder seine Metadaten enthalten DataSource.Path = false
.)
Funktionen für eine bestimmte Datenquelle können nur Anmeldeinformationen verwenden, die dieser Art zugeordnet sind. Anmeldeinformationen werden zur Laufzeit identifiziert, indem ein Nachschlagevorgang basierend auf der Kombination der erforderlichen Parameter der Funktion ausgeführt wird. Weitere Informationen dazu, wie Anmeldeinformationen identifiziert werden, finden Sie unter Datenquellenpfade.
Beispiel:
HelloWorld = [
Authentication = [
Implicit = []
],
Label = Extension.LoadString("DataSourceLabel")
];
In der folgenden Tabelle sind die Felder für den Datenquellendefinitionsdatensatz aufgeführt.
Feld | Typ | Details |
---|---|---|
Authentifizierung | aufzeichnen | Gibt einen oder mehrere Authentifizierungstypen an, die von Ihrer Datenquelle unterstützt werden. Mindestens eine Art ist erforderlich. Jede Art wird als Option in der Power Query-Anmeldeinformationsaufforderung angezeigt. Weitere Informationen finden Sie unter Authentifizierungsarten. |
Label | text | (optional) Anzeigename für diese Erweiterung in Anmeldeinformationsdialogfeldern. |
SupportsEncryption | Logisch | (optional) Wenn true, stellt die Benutzeroberfläche die Option zum Herstellen einer Verbindung mit der Datenquelle mithilfe einer verschlüsselten Verbindung dar. Dies wird in der Regel für Datenquellen mit einem nicht verschlüsselten Fallbackmechanismus (im Allgemeinen ODBC- oder ADO.NET-basierten Quellen) verwendet. |
Ähnlich wie der Datensatz der Datenquellendefinition stellt der Datensatz "Veröffentlichen" die Power Query-Benutzeroberfläche bereit, die informationen bereitstellt, die diese Erweiterung im Dialogfeld "Daten abrufen" verfügbar machen müssen.
Beispiel:
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") }
];
In der folgenden Tabelle sind die Felder für Ihren Veröffentlichungsdatensatz aufgeführt.
Feld | Typ | Details |
---|---|---|
ButtonText | list | Liste der Textelemente. Das erste Element definiert den Namen, der neben dem Symbol der Datenquelle im Power BI-Dialogfeld Daten abrufen angezeigt wird. Das zweite Element (optional) definiert die QuickInfo, die angezeigt wird, wenn der vorherige Name mit der Maus angezeigt wird. |
Kategorie | text | Wo die Erweiterung im Dialogfeld Daten abrufen angezeigt werden soll. Derzeit sind Azure und Database die einzigen Kategoriewerte mit besonderer Handhabung. Alle anderen Werte werden unter der Kategorie "Sonstige" angezeigt. |
Beta | Logisch | (optional) Wenn dieser Wert auf "true" festgelegt ist, zeigt die Benutzeroberfläche neben dem Connectornamen einen Vorschau-/Beta-Bezeichner und ein Warndialogfeld an, dass die Implementierung des Connectors unterbrechungsbeschränkt ist. |
LearnMoreUrl | text | (optional) URL zu Website, die weitere Informationen zu dieser Datenquelle oder zu diesem Connector enthält. |
SupportsDirectQuery | Logisch | (optional) Aktiviert Direct Query für Ihre Erweiterung. |
SourceImage | aufzeichnen | (optional) Ein Datensatz, der eine Liste von binären Bildern enthält (aus der Erweiterungsdatei mit der Extension.Contents-Methode stammen). Der Datensatz enthält zwei Felder (Icon16, Icon32), jeweils mit einer eigenen Liste. Jedes Symbol sollte eine andere Größe aufweisen. |
SourceTypeImage | aufzeichnen | (optional) Ähnlich wie "SourceImage", mit Ausnahme der Konvention für viele out of the box Connectors ist es, ein Blattsymbol mit dem quellspezifischen Symbol in der unteren rechten Ecke anzuzeigen. Ein anderer Satz von Symbolen für SourceTypeImage ist optional – viele Erweiterungen verwenden einfach denselben Satz von Symbolen für beide Felder. |