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;

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.