Obter dados do Armazenamento do Azure

Neste artigo, você aprenderá a obter dados do Armazenamento do Azure (contêineres do Azure Data Lake Storage Gen2, contêineres de blob ou blobs individuais) para uma tabela em um banco de dados KQL. Você pode fazer a ingestão de dados continuamente ou em uma única vez. Após a conclusão da ingestão, os dados estão disponíveis para consulta.

  • Ingestão contínua (versão prévia): A ingestão contínua configura um pipeline de ingestão que permite que um eventhouse escute eventos do Armazenamento do Azure. O pipeline notifica a central de eventos para extrair informações quando eventos subscritos ocorrerem. Os eventos são BlobCreated e BlobRenamed.

  • Ingestão em tempo único: use esse método para recuperar dados de Armazenamento do Azure como uma operação única.

    Observação

Pré-requisitos

Pré-requisitos para ingestão contínua

Em Azure:

  • Registrar o provedor de recursos do Event Grid com sua assinatura do Azure.
  • Atribua permissões de função Storage Blob Data Reader à identidade do workspace.
  • Crie um contêiner de blob para armazenar os arquivos de dados.
    • Carregue um arquivo de dados. A estrutura do arquivo de dados é usada para definir o esquema de tabela. Para obter mais informações, consulte Formatos de dados compatíveis com Real-Time Intelligence.

      Observação

      Você deve carregar um arquivo de dados:

      • Antes da configuração para definir o esquema de tabela durante a instalação.
      • Depois da configuração para disparar a ingestão contínua, visualizar dados e verificar a conexão.

      Observação

      A ingestão contínua do Armazenamento do Azure também é compatível quando a conta de armazenamento está configurada com pontos de extremidade privados (Link Privado). Verifique se o workspace Fabric pode acessar a conta de armazenamento por meio do caminho de rede privado configurado.

Adicionar a atribuição de função de identidade do workspace à conta de armazenamento

  1. Nas configurações do Workspace em Fabric, copie sua ID de identidade do workspace.

    Captura de tela da configuração do workspace, com a ID do workspace realçada.

  2. No portal do Azure, navegue até sua conta de Armazenamento do Azure e selecione Controle de Acesso (IAM)>Adicionar>Adicionar atribuição de função.

  3. Selecione Leitor de Dados do Blob de Armazenamento.

  4. Na caixa de diálogo Adicionar atribuição de função , selecione + Selecionar membros.

  5. Cole o ID da identidade do workspace, selecione o aplicativo e depois Selecionar>Revisar + atribuir.

Criar um contêiner de blob e carregar um arquivo de dados

  1. Na conta de armazenamento, selecione Contêineres.

  2. Selecione + Contêiner, insira um nome para o contêiner e selecione Salvar.

  3. Insira o contêiner, selecione carregar e carregue o arquivo de dados preparado anteriormente.

    Para obter mais informações, consulte formatos com suporte e compactações com suporte.

  4. No menu de contexto , [...], selecione propriedades de contêiner e copie a URL para entrada durante a configuração.

    Captura de tela da lista de contêineres com o menu de contexto aberto e a opção Propriedades do contêiner realçada.

Selecione Armazenamento do Azure como a fonte de dados

Abra o fluxo Obter Dados e selecione Armazenamento do Azure como a origem.

  1. No seu workspace, abra o eventhouse e selecione o banco de dados.

  2. Na faixa de opções do banco de dados KQL, selecione Obter Dados.

  3. Selecione a fonte de dados na lista disponível. Neste exemplo, você está ingerindo dados de Armazenamento do Azure.

    Captura de tela dos blocos de dados

Configurar

  1. Selecione uma tabela de destino. Para ingerir dados em uma nova tabela, selecione + Nova tabela e insira um nome de tabela.

    Observação

    Os nomes de tabela podem ter até 1.024 caracteres, incluindo espaços, caracteres alfanuméricos, hifens e sublinhados. Não há suporte para caracteres especiais.

  2. Em Configurar a conexão do Armazenamento de Blobs do Azure, verifique se ingestão contínua está ativada. Ele está ativado por padrão.

  3. Configure a conexão criando uma nova conexão ou usando uma conexão existente.

    Para criar uma nova conexão:

    1. Selecione Conectar a uma conta de armazenamento.

      Captura de tela da guia Configurar com ingestão contínua de dados e conectar-se a uma conta selecionada.

    2. Use as descrições a seguir para ajudar a preencher os campos.

      Configuração Descrição do campo
      Subscrição A assinatura da conta de armazenamento.
      Conta de armazenamento de blobs Nome da conta de armazenamento.
      Contêiner O contêiner de armazenamento que contém o arquivo que você deseja ingerir.
    3. No campo Conexão , abra a lista suspensa e selecione + Nova conexão e, em seguida, selecione Salvar>Fechar. As configurações de conexão são pré-preenchidas.

    Observação

    Ao criar uma nova conexão, você também cria um novo fluxo de eventos. O nome é definido como <storage_account_name>_eventstream. Não remova o fluxo de eventos de ingestão contínua do espaço de trabalho.

    Para usar uma conexão existente:

    1. Selecione Selecionar uma conta de armazenamento existente.

      Captura de tela da guia Configurar com ingestão contínua de dados e conexão a uma conta existente selecionada.

    2. Use as descrições a seguir para ajudar a preencher os campos.

      Configuração Descrição do campo
      RTAStorageAccount Um fluxo de eventos conectado à sua conta de armazenamento de Fabric.
      Contêiner O contêiner de armazenamento que contém o arquivo que você deseja ingerir.
      Conexão Esse campo é pré-preenchido com o cadeia de conexão.
    3. No campo Connection, abra o menu suspenso e selecione a cadeia de conexão existente na lista. Em seguida, selecione Salvar>Fechar.

  4. Opcionalmente, expanda filtros de arquivo e especifique os seguintes filtros:

    Configuração Descrição do campo
    Caminho da pasta Filtre dados para ingerir arquivos com um caminho de pasta específico.
    Extensão de arquivo Filtre dados para ingerir arquivos somente com uma extensão de arquivo específica.
  5. Na seção Configurações do Eventstream, selecione os eventos a serem monitorados emtipos de evento>. Por padrão, o Blob criado é selecionado. Você também pode selecionar Bloco renomeado.

    Captura de tela das configurações avançadas com a lista suspensa de Tipos de evento expandida.

  6. Selecione Avançar para visualizar os dados.

Verificar os dados de pré-visualização antes da ingestão

A guia Inspecionar será aberta com uma visualização dos dados.

Para concluir o processo de ingestão, selecione Concluir.

Captura de tela da guia Inspecionar mostrando uma visualização dos dados ingeridos antes de selecionar Concluir.

Observação

Para acionar a ingestão contínua e a visualização de dados, carregue um novo blob após concluir a configuração.

Opcionalmente:

  • Use a lista suspensa do arquivo de definição de esquema para alterar o arquivo do qual o esquema é inferido.

  • Use a lista suspensa de tipo de arquivo para explorar opções avançadas com base no tipo de dados.

  • Use o menu suspenso "Table_mapping" para definir um novo mapeamento.

  • Selecione </> para abrir o visualizador de comandos para exibir e copiar os comandos automáticos gerados de suas entradas. Você também pode abrir os comandos em um conjunto de consultas KQL.

  • Selecione o ícone de lápis para Editar colunas.

Editar colunas

Observação

  • Para formatos de tabela (CSV, TSV,VP), não é possível mapear uma coluna duas vezes. Para mapear para uma coluna existente, primeiro exclua a nova coluna.
  • Não é possível alterar um tipo de coluna existente. Se você tentar mapear para uma coluna com um formato diferente, poderá acabar com colunas vazias.

As alterações que você pode fazer em uma tabela dependem dos seguintes parâmetros:

  • A tabela é do tipo novo ou existente
  • Tipo de mapeamento é novo ou existente
Tipo de tabela Tipo de mapeamento Ajustes disponíveis
Nova tabela Novo mapeamento Renomear coluna, alterar tipo de dados, alterar fonte de dados, transformação de mapeamento, adicionar coluna, excluir coluna
Tabela existente Novo mapeamento Adicionar coluna (na qual você pode alterar o tipo de dados, renomear e atualizar)
Tabela existente Mapeamento existente nenhum

Captura de tela do editor de colunas com colunas de tabela abertas para edição de nomes, tipos de dados e mapeamentos.

Mapeamento de transformações

Alguns mapeamentos de formato de dados (Parquet, JSON e Avro) dão suporte a transformações simples de tempo de ingestão. Para aplicar transformações de mapeamento, crie ou atualize uma coluna na janela Editar colunas.

As transformações de mapeamento podem ser executadas em uma coluna do tipo string ou datetime, com a origem possuindo o tipo de dados int ou long. Para obter mais informações, confira a lista completa de transformações de mapeamento com suporte.

Opções avançadas com base no tipo de dados

Tabela (CSV, TSV, PSV):

  • Se você estiver ingerindo formatos tabulares em uma tabela existente, poderá selecionar Avançado>Manter esquema de tabela. Os dados tabulares não incluem necessariamente os nomes de coluna usados para mapear dados de origem para as colunas existentes. Quando essa opção é verificada, o mapeamento é feito por ordem e o esquema da tabela permanece o mesmo. Se essa opção estiver desmarcada, novas colunas serão criadas para dados de entrada, independentemente da estrutura de dados.

    Captura de tela de opções avançadas.

  • Os dados tabulares não incluem necessariamente os nomes de coluna usados para mapear dados de origem para as colunas existentes. Para usar a primeira linha como nomes de coluna, selecione A primeira linha é o cabeçalho da coluna.

    Captura de tela da primeira linha é o comutador de cabeçalho de coluna.

Tabela (CSV, TSV, PSV):

  • Se você estiver ingerindo formatos tabulares em uma tabela existente, selecione Table_mapping>Usar esquema existente. Os dados tabulares não incluem necessariamente os nomes de coluna usados para mapear dados de origem para as colunas existentes. Quando você seleciona essa opção, o mapeamento é feito por ordem e o esquema da tabela permanece o mesmo. Se você limpar essa opção, novas colunas serão criadas para os dados de entrada, independentemente da estrutura de dados.

  • Para usar a primeira linha como nomes de coluna, selecione Primeira linha como cabeçalho.

    Captura de tela das opções avançadas de CSV, incluindo controles para configurações de cabeçalho e delimitador de primeira linha.

JSON:

  • Para determinar a divisão em colunas dos dados JSON, selecione níveis aninhados, de 1 a 100.

    Captura de tela de opções JSON avançadas, incluindo a configuração de níveis aninhados usada para dividir colunas JSON.

Revisar o resumo da ingestão

Na janela Resumo , todas as etapas mostram marcas de verificação verdes quando a ingestão de dados é concluída com êxito. Você pode selecionar um cartão para explorar os dados, excluir os dados ingeridos ou criar um painel com as principais métricas.

Captura de tela da página de resumo para ingestão contínua com ingestão bem-sucedida concluída.

Ao fechar a janela, você pode ver a conexão na guia Explorer, em fluxos de dados. A partir daqui, você pode filtrar os fluxos de dados e excluir um fluxo de dados.

Captura de tela do gerenciador de banco de dados KQL com fluxos de dados realçados.