Partager via


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;

Type 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 DataSource.Kind attribut littéral sur la fonction avec le nom d’un 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 (comme 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, notamment 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 type de source de données spécifique peuvent uniquement utiliser les informations d’identification associées à ce type. 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 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.

Terrain Type Détails
Authentication enregistrement Spécifie un ou plusieurs types d’authentification pris en charge par votre source de données. Au moins un type est requis. Chaque type s'affiche comme une option dans l'invite de saisie des informations d'identification Power Query. Pour plus d’informations, consultez Types d’authentification.
Étiquette texte (facultatif) Nom convivial d'affichage de cette extension dans les boîtes de dialogue des informations d'identification.
SupportsEncryption logique (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. Cela est généralement utilisé pour les sources de données avec un mécanisme de secours non chiffré (généralement des sources basées sur ODBC ou ADO.NET).

Publier sur l’interface utilisateur

Comme pour l’enregistrement de définition de source de données , l’enregistrement Publier 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.

Terrain 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’affiche lorsque le nom précédent est survolé avec 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 un handing spécial sont Azure et Database. Toutes les autres valeurs se terminent sous la catégorie Other.
Bêta logique (facultatif) Lorsque la valeur est vraie, l'interface utilisateur affiche un identificateur Aperçu/Bêta à côté du nom de votre connecteur et une boîte de dialogue d’avertissement indiquant que l’implémentation du connecteur est sujette à des modifications susceptibles de casser.
LearnMoreUrl texte (facultatif) URL du site web contenant plus d’informations sur cette source de données ou ce connecteur.
Prend en charge DirectQuery logique (facultatif) Active Direct Query 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 être d’une taille différente.
SourceTypeImage enregistrement (facultatif) À l'instar de SourceImage, sauf que, selon la convention pour de nombreux connecteurs prêts à l'emploi, une icône de feuille avec l'icône spécifique à la source dans le coin inférieur droit doit être affichée. L’utilisation d’un ensemble différent d’icônes pour SourceTypeImage est facultative. De nombreuses extensions réutilisent simplement le même ensemble d’icônes pour les deux champs.