Gestion de l’accès aux données
Fonctions de source de données
Un connecteur de données encapsule et personnalise le comportement d’une fonction de source de données dans la bibliothèque M. Par exemple, une extension pour une API REST utilise la fonction Web.Contents pour effectuer des requêtes HTTP. Actuellement, un ensemble limité de fonctions de source de données a été activé pour prendre en charge l’extensibilité.
Exemple :
[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;
Genre de source de données
Les fonctions marquées comme shared
dans votre extension peuvent être associées à une source de données spécifique en incluant un attribut littéral sur la fonction avec le nom d’un DataSource.Kind
enregistrement de définition de source de données.
L’enregistrement de source de données définit les types d’authentification pris en charge par votre source de données et les informations de personnalisation de base (telles que le nom d’affichage/étiquette).
Le nom de l’enregistrement devient son identificateur unique.
Chaque fonction associée à la même source de données doit avoir les mêmes paramètres de fonction requis, y compris le nom, le type et l’ordre. (À des fins de type de source de données, un paramètre n’est pas considéré comme obligatoire s’il est marqué optional
ou si ses métadonnées contiennent DataSource.Path = false
.)
Les fonctions d’un genre de source de données spécifique peuvent uniquement utiliser les informations d’identification associées à ce genre. Les informations d’identification sont identifiées au moment de l’exécution en effectuant une recherche basée sur la combinaison des paramètres requis de la fonction. Pour plus d’informations sur la façon dont les informations d’identification sont identifiées, consultez Chemins d’accès de source de données.
Exemple :
HelloWorld = [
Authentication = [
Implicit = []
],
Label = Extension.LoadString("DataSourceLabel")
];
Propriétés
Le tableau suivant répertorie les champs de votre enregistrement de définition de source de données.
Champ | Type | Détails |
---|---|---|
Authentification | enregistrement | Spécifie un ou plusieurs types d’authentification pris en charge par votre source de données. Au moins un genre est requis. Chaque genre s’affiche sous la forme d’une option dans l’invite de demande d’informations d’identification Power Query. Pour plus d’informations, consultez Genres d’authentification. |
Étiquette | texte | (facultatif) Nom d’affichage convivial de cette extension dans les boîtes de dialogue d’informations d’identification. |
SupportsEncryption | Opérateurs logiques | (facultatif) Lorsque la valeur est true, l’interface utilisateur présente l’option permettant de se connecter à la source de données à l’aide d’une connexion chiffrée. Cette option est généralement utilisée pour les sources de données avec un mécanisme de secours non chiffré (notamment les sources basées sur ODBC ou ADO.NET). |
Publier dans l’interface utilisateur
À l’instar de l’enregistrement de définition de source de données, l’enregistrement de publication fournit à l’interface utilisateur Power Query les informations dont elle a besoin pour exposer cette extension dans la boîte de dialogue Obtenir des données.
Exemple :
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") }
];
Propriétés
Le tableau suivant répertorie les champs de votre enregistrement de publication.
Champ | Type | Détails |
---|---|---|
ButtonText | list | Liste des éléments de texte. Le premier élément définit le nom affiché en regard de l’icône de la source de données dans la boîte de dialogue Obtenir des données Power BI. Le deuxième élément (facultatif) définit l’info-bulle qui s’affichera lorsque le nom précédent est mis à la souris. |
Catégorie | texte | Où l’extension doit être affichée dans la boîte de dialogue Obtenir des données. Actuellement, les seules valeurs de catégorie avec une gestion particulière sont Azure et Database . Toutes les autres valeurs sont rassemblées sous la catégorie Autre. |
Bêta | Opérateurs logiques | (facultatif) Lorsque la valeur est true, l’interface utilisateur affiche un identificateur Preview/Beta en regard du nom de votre connecteur et une boîte de dialogue d’avertissement indiquant que l’implémentation du connecteur est soumise à des changements cassants. |
LearnMoreUrl | texte | (facultatif) URL du site Web contenant plus d’informations sur cette source de données ou ce connecteur. |
SupportsDirectQuery | Opérateurs logiques | (facultatif) Active DirectQuery pour votre extension. |
SourceImage | enregistrement | (facultatif) Enregistrement contenant une liste d’images binaires (provenant du fichier d’extension à l’aide de la méthode Extension.Contents). L’enregistrement contient deux champs (Icon16, Icon32), chacun avec sa propre liste. Chaque icône doit avoir une taille différente. |
SourceTypeImage | enregistrement | (facultatif) À l’instar de SourceImage, à l’exception de la convention pour de nombreux connecteurs prêts à l’emploi, il est prévu d’afficher une icône de feuille avec l’icône spécifique de la source dans le coin inférieur droit. L’utilisation d’un ensemble d’icônes différentes pour SourceTypeImage est facultative : de nombreuses extensions réutilisent simplement le même ensemble d’icônes pour les deux champs. |