Control de acceso a datos

Funciones de origen de datos

Un conector de datos encapsula y personaliza el comportamiento de una función de origen de datos en la Biblioteca M. Por ejemplo, una extensión para una API REST utilizaría la función Web.Contents para llevar a cabo solicitudes HTTP. En la actualidad, se encuentra habilitado un conjunto limitado de funciones de origen de datos compatibles con la extensibilidad.

Ejemplo:

[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;

Tipo de origen de datos

Las funciones con una marca shared en la extensión se pueden asociar a un origen de datos específico mediante la inclusión de un atributo literal DataSource.Kind en la función con el nombre de un registro de definición de origen de datos. El registro de origen de datos define los tipos de autenticación compatibles con el origen de datos y la información básica de la marca (como el nombre para mostrar o la etiqueta). El nombre del registro constituye un identificador único.

Cada función que se asocia al mismo origen de datos debe tener los mismos parámetros de función necesarios; esto incluye el nombre, el tipo y el orden. (A efectos del tipo de origen de datos, no es necesario un parámetro si tiene la marca optional o si los metadatos contienen DataSource.Path = false).

Las funciones de un tipo de origen de datos específico solo pueden usar credenciales asociadas a dicho tipo. Las credenciales se identifican en el tiempo de ejecución mediante una búsqueda que se basa en la combinación de los parámetros necesarios de la función. Para obtener más información respecto a la identificación de las credenciales, consulte el apartado Rutas de origen de datos.

Ejemplo:

HelloWorld = [
    Authentication = [
        Implicit = []
    ],
    Label = Extension.LoadString("DataSourceLabel")
];

Propiedades

En la tabla a continuación se enumeran los campos de registro de definición de origen de datos.

Campo Tipo Detalles
Autenticación record Especifica uno o varios tipos de autenticación compatibles con el origen de datos. Es necesario al menos un tipo. Cada tipo se mostrará como una opción en la petición de credenciales de Power Query. Para obtener más información, consulte el apartado Tipos de autenticación.
Etiqueta text (opcional) Nombre para mostrar descriptivo para la extensión en los cuadros de diálogo de credenciales.
SupportsEncryption logical (opcional) Si es true, la interfaz de usuario presentará la opción de conectarse al origen de datos mediante una conexión cifrada. Esto se utiliza por lo general para orígenes de datos con un mecanismo de reserva no cifrado (habitualmente orígenes basados en ODBC o en ADO.NET).

Publicación en interfaz de usuario

De forma similar al registro de definición Origen de datos, el registro de publicación proporciona a la interfaz de usuario de Power Query la información necesaria para exponer la extensión en el cuadro de diálogo Obtener datos.

Ejemplo:

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") }
];

Propiedades

En la tabla a continuación se enumeran los campos del registro de publicación.

Campo Tipo Detalles
ButtonText list Lista de elementos de texto. El primer elemento define el nombre que se muestra junto al icono de origen de datos en el cuadro de diálogo Obtener datos de Power BI. El segundo elemento (opcional) define la información sobre herramientas que se mostrará al desplazar el mouse sobre el nombre anterior.
Category text Donde se debe mostrar la extensión en el cuadro de diálogo Obtener datos. En la actualidad, los únicos valores de categoría con control especial son Azure y Database. Todos los demás valores irán a la categoría Otros.
Beta logical (opcional) Si es true, la interfaz de usuario mostrará un identificador de versión preliminar o beta junto al nombre del conector y un cuadro de diálogo de advertencia que indicará que la implementación del conector está sujeta a cambios importantes.
LearnMoreUrl text (opcional) Dirección URL al sitio web que contiene más información acerca del origen de datos o conector.
SupportsDirectQuery logical (opcional) Habilita la consulta directa para la extensión.
SourceImage record (opcional) Un registro que contiene una lista de imágenes binarias (cuyo origen es el archivo de extensión que usa el método Extension.Contents). El registro contiene dos campos (Icono 16, Icono 32), cada uno con su propia lista. Cada icono debe ser de un tamaño diferente.
SourceTypeImage record (opcional) De forma similar a SourceImage, excepto la convención de muchos conectores de fábrica, se muestra un icono de hoja con el icono específico de origen en la esquina inferior derecha. No es obligatorio contar con un conjunto diferente de iconos para SourceTypeImage; muchas extensiones simplemente reutilizan el mismo conjunto de iconos para ambos campos.