Partilhar via


Tratamento do acesso aos dados

Funções da fonte de dados

Um conector de dados encapsula e personaliza o comportamento de uma função de fonte de dados na Biblioteca M. Por exemplo, uma extensão para uma API REST faria uso da função Web.Contents para fazer solicitações HTTP. Atualmente, um conjunto limitado de funções de fonte de dados foi habilitado para oferecer suporte à extensibilidade.

Exemplo:

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

Variante de Origem de Dados

As funções marcadas como shared em sua extensão podem ser associadas a uma fonte de dados específica incluindo um atributo literal na função com o nome de um DataSource.Kind registro de definição de fonte de dados. O registro Fonte de Dados define os tipos de autenticação suportados pela fonte de dados e as informações básicas de identidade visual (como o nome para exibição/rótulo). O nome do registo torna-se o seu identificador único.

Cada função associada à mesma fonte de dados deve ter os mesmos parâmetros de função necessários, incluindo nome, tipo e ordem. (Para fins de Tipo de Fonte de Dados, um parâmetro não é considerado necessário se estiver marcado optional ou se seus metadados contiverem DataSource.Path = false.)

As funções para um Tipo de Fonte de Dados específico só podem usar credenciais associadas a esse Tipo. As credenciais são identificadas em tempo de execução executando uma pesquisa com base na combinação dos parâmetros necessários da função. Para obter mais informações sobre como as credenciais são identificadas, consulte Caminhos da fonte de dados.

Exemplo:

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

Propriedades

A tabela a seguir lista os campos para seu registro de definição de Fonte de Dados.

Campo Type Detalhes
Autenticação recorde Especifica um ou mais tipos de autenticação suportados pela sua fonte de dados. É necessário pelo menos um tipo. Cada tipo será apresentado como uma opção no pedido de credenciais do Power Query. Para obter mais informações, consulte Tipos de autenticação.
Label texto (facultativo) Nome de exibição amigável para esta extensão em caixas de diálogo de credenciais.
SuportaEncriptação lógica (facultativo) Quando true, a interface do usuário apresentará a opção de se conectar à fonte de dados usando uma conexão criptografada. Isso geralmente é usado para fontes de dados com um mecanismo de fallback não criptografado (geralmente fontes baseadas em ODBC ou ADO.NET).

Publicar na interface do usuário

Semelhante ao registro de definição da Fonte de Dados, o registro Publicar fornece à interface do usuário do Power Query as informações necessárias para expor essa extensão na caixa de diálogo Obter Dados.

Exemplo:

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

Propriedades

A tabela a seguir lista os campos do seu registro de publicação.

Campo Type Detalhes
ButtonText list Lista de itens de texto. O primeiro item define o nome exibido ao lado do ícone da fonte de dados na caixa de diálogo Obter Dados do Power BI. O segundo item (opcional) define a dica de ferramenta que será exibida quando o nome anterior for pressionado com o mouse.
Category texto Onde a extensão deve ser exibida na caixa de diálogo Obter dados . Atualmente, os únicos valores de categoria com entrega especial são Azure e Database. Todos os outros valores terminarão na categoria Outros.
Beta lógica (facultativo) Quando definida como true, a interface do usuário exibirá um identificador Preview/Beta ao lado do nome do conector e uma caixa de diálogo de aviso de que a implementação do conector está sujeita a alterações de quebra.
LearnMoreUrl texto (facultativo) URL para o site que contém mais informações sobre esta fonte de dados ou conector.
SuportasDirectQuery lógica (facultativo) Habilita o Direct Query para sua extensão.
SourceImage recorde (facultativo) Um registro contendo uma lista de imagens binárias (originadas do arquivo de extensão usando o método Extension.Content ). O registo contém dois campos (Icon16, Icon32), cada um com a sua própria lista. Cada ícone deve ter um tamanho diferente.
SourceTypeImage recorde (facultativo) Semelhante ao SourceImage, exceto a convenção para muitos conectores fora da caixa é exibir um ícone de folha com o ícone específico da fonte no canto inferior direito. Ter um conjunto diferente de ícones para SourceTypeImage é opcional — muitas extensões simplesmente reutilizam o mesmo conjunto de ícones para ambos os campos.