Partilhar via


Trabalhar com dados de clientes no Fabric

O Microsoft Fabric OneLake é um data lake lógico unificado para toda a organização, projetado para ser o único local para todos os dados de análise. Ele vem automaticamente com todos os locatários do Microsoft Fabric e é criado com base no Azure Data Lake Storage (ADLS) Gen2. O OneLake suporta qualquer tipo de arquivo, estruturado ou não estruturado, e armazena todos os dados tabulares no formato Delta Parquet. Ele permite a colaboração entre diferentes grupos de negócios, fornecendo um único data lake que é governado por padrão com propriedade distribuída para colaboração dentro dos limites de um locatário. Os espaços de trabalho dentro de um locatário permitem que diferentes partes da organização distribuam políticas de propriedade e acesso, e todos os dados no OneLake podem ser acessados por meio de itens de dados, como Lakehouses e Armazéns.

Em termos de armazenamentos de dados, o OneLake serve como o local de armazenamento comum para ingestão, transformação, insights em tempo real e visualizações de Business Intelligence. Ele centraliza os diferentes serviços de malha e é o armazenamento para itens de dados consumidos por todas as cargas de trabalho no Fabric.

Como ler e gravar dados no Microsoft Fabric

O Microsoft Fabric é uma plataforma que permite o armazenamento e o gerenciamento de dados de clientes. Para ler e gravar dados no Fabric, você precisa usar as APIs REST do Fabric e os métodos de autenticação apropriados.

Permissões de API

Alguns métodos de acesso aos dados do cliente exigem o uso de outros serviços fora da Malha, como o Armazenamento do Azure ou o Banco de Dados SQL do Azure. Por exemplo, no exemplo do Microsoft Fabric Developer kit, a permissão de API do Armazenamento user_impersonation do Azure é usada em conjunto com a permissão do serviço Power BI Lakehouse.Read.All para acessar dados do Lakehouses.

Você pode usar o Banco de Dados SQL do Azure para acessar dados de tabela de itens do Depósito. Nesse caso, configure seu aplicativo com o Banco de Dados user_impersonation SQL do Azure para consultar o banco de dados em nome do usuário e o serviço do Power BI Warehouse.Read.All para consultar o ponto de extremidade Get Warehouse da API REST de malha.

Certifique-se de configurar seu aplicativo Microsoft Entra ID de acordo com suas necessidades de desenvolvimento.

Autenticação

Antes de começar a usar as APIs REST do Fabric ou outros serviços, como o Armazenamento do Azure e o Banco de Dados SQL do Azure, em nome do usuário, você precisa autenticar usando um token. Este token pode ser obtido através de um processo de troca de tokens.

O SDK do Fabric Workload Development Kit fornece um método para adquirir um token de acesso no front-end da carga de trabalho. Por exemplo, consulte Controlador de carga de trabalho de exemplo.

Esse token de cliente deve ser passado para o back-end da carga de trabalho e trocado usando o fluxo em nome de um token com os escopos necessários para acessar os recursos necessários, como o OneLake. Por exemplo, para acessar e ler de um Lakehouse, um usuário deve autorizar o aplicativo a fazer chamadas de API em seu nome usando a permissão de Armazenamento user_impersonation do Azure. Em seguida, no back-end, o token de acesso deve ser obtido com o escopo https://storage.azure.com/user_impersonation delegado para usar o Armazenamento do Azure.

Se você decidir usar o SQL para acessar os dados do cliente, o token de acesso deverá ser obtido com o escopo https://database.windows.net//user_impersonation de usar o Banco de Dados SQL do Azure e o namespace Microsoft.Data.SqlClient. O token de acesso deve ser usado como escrito, com duas barras antes user_impersonationde , para ser validado pela classe SQLConnection. Para obter mais exemplos de autenticação de token, consulte o Exemplo do Microsoft Fabric Developer kit.

Mais detalhes sobre como obter um token podem ser encontrados na documentação da API REST do Microsoft Fabric Workload Development.

Ler metadados

As APIs REST de malha fornecem uma maneira de acessar as propriedades do item. Por exemplo, consultar a API Get Lakehouse fornece os metadados de um determinado Lakehouse, incluindo propriedades úteis como caminhos OneLake e a cadeia de conexão SQL. Outro ponto de extremidade útil é a API Get Warehouse, que retorna as seguintes informações:

    {
        Id: Guid
        Type: string
        DisplayName: string
        Description: string
        WorkspaceId: Guid
        Properties {
            ConnectionInfo: string
            CreatedDate: DateTime
            LastUpdatedTime: DateTime
        }
    }

Aqui, a propriedade "ConnectionInfo" é o FQDN (nome de domínio totalmente qualificado) do SQL Server do Warehouse. Com esse FQDN, você pode estabelecer uma conexão SQL. Para obter mais informações, consulte Conectividade com data warehousing no Microsoft Fabric. Para obter exemplos de implementação, consulte o Microsoft Fabric Workload Development Kit.

Ler os dados

Depois de autenticar, você pode se conectar ao OneLake usando as APIs REST do Armazenamento do Azure Data Lake para ler diferentes tipos de dados. Recomendamos utilizar o protocolo Delta Lake para ler tabelas.

Como alternativa, se você optar por utilizar o Banco de Dados SQL do Azure, poderá implementar o procedimento a seguir para ler dados de um Warehouse.

  1. Crie um contexto de autorização. Para obter um exemplo de criação de um contexto de autorização, consulte o método AuthenticateDataPlaneCall.

  2. Adquira um token com o escopo Warehouse.Read.All em nome do usuário usando o token de portador passado do front-end.

  3. Use o token Fabric para chamar a API Get Warehouse. É necessário acessar as informações de conexão e o nome de exibição do depósito, que é o catálogo inicial do servidor.

  4. Adquira um token com escopos SQL em nome do usuário. Para estabelecer com êxito uma conexão SQL, use o escopo https://database.windows.net//user_impersonation.

  5. Use o token SQL e as informações de conexão para abrir uma conexão SQL:

    private SqlConnection GetSqlConnection(string token, string databaseFqdn, string initialCatalog)
            {
                var builder = new SqlConnectionStringBuilder();
                builder.DataSource = databaseFqdn; // ConnectionInfo from Get Warehouse API
                builder.InitialCatalog = initialCatalog; //display name of the Warehouse
                builder.ConnectTimeout = 120;
    
                var connection = new SqlConnection();
                connection.AccessToken = token; // SQL token acquired with the Azure SQL Database user_impersonation scope
                connection.ConnectionString = builder.ConnectionString;
                connection.Open();
                return connection;
            }
    
  6. Essa conexão agora pode ser consultada para acessar dados do Warehouse. Para obter mais informações sobre como utilizar o namespace Microsoft.Data.SqlClient, consulte Documentação do namespace Microsoft.Data.SqlClient.

Gravando dados

Além de ler dados usando o token, você também pode usar APIs ADLS para gravar dados em tabelas, conforme descrito pelo protocolo Delta Lake.

Você também pode usar as APIs para criar arquivos e diretórios.

Como alternativa, você pode usar outras cargas de trabalho do Fabric para gravar dados na plataforma. Por exemplo, você pode usar a API de carga de trabalho Lakehouse do Fabric para carregar com eficiência tipos de arquivo comuns em uma tabela Delta otimizada. Isso é feito enviando uma solicitação POST para o ponto de extremidade da API Tables - Load Table.

A conexão SQL também pode ser usada para executar comandos que inserem dados em tabelas.