Obter dados do Armazenamento do Azure

Neste artigo, aprende como colocar dados do Armazenamento do Azure (contentores Azure Data Lake Storage Gen2, contentores de blobs ou blobs individuais) para uma tabela numa base de dados KQL. Pode ingerir dados continuamente ou de uma só vez. Após a conclusão da ingestão, os dados ficam disponíveis para consulta.

  • Ingestão contínua (pré-visualização): A ingestão contínua estabelece um pipeline de ingestão que permite a uma casa de eventos ouvir eventos do Armazenamento do Azure. O pipeline notifica a casa de eventos para extrair informações quando ocorrerem eventos inscritos. Os eventos são BlobCreated e BlobRenamed.

  • Ingestão única: Use este 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

No Azure:

  • Regista o fornecedor de recursos da Grade de Eventos com a tua subscrição de Azure.
  • Atribua à identidade do espaço de trabalho permissões da função Leitor de Dados de Blob de Armazenamento.
  • Crie um contêiner de blob para armazenar os arquivos de dados.
    • Carregue um ficheiro de dados. A estrutura do arquivo de dados é usada para definir o esquema da tabela. Para obter mais informações, consulte Formatos de dados suportados pelo Real-Time Intelligence.

      Observação

      Deve carregar um ficheiro de dados:

      • Antes da configuração para definir o esquema da tabela durante a instalação.
      • Após a configuração para acionar 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 é suportada quando a conta de armazenamento está configurada com endpoints privados (Private Link). Certifique-se de que o espaço de trabalho do Fabric pode aceder à conta de armazenamento através do caminho de rede privada configurado.

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

  1. Nas definições do espaço de trabalho do Fabric, copie o ID da identidade do seu espaço de trabalho.

    Captura de ecrã da definição da área de trabalho, com o ID da área de trabalho realçado.

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

  3. Selecione Storage Blob Data Reader.

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

  5. Cole o ID de identidade do espaço de trabalho, selecione o aplicativo e depois Selecione>Revisar + atribuir.

Crie um contentor de blob e carregue um ficheiro de dados

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

  2. Selecione + Contentor, introduza um nome para o contentor e selecione Guardar.

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

    Para obter mais informações, consulte formatos suportados e compressões suportadas.

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

    Captura de ecrã da lista de contentores com o menu de contexto aberto e a opção de propriedades do Container destacada.

Selecione Armazenamento do Azure como fonte de dados

Abra o fluxo Get Data e selecione Armazenamento do Azure como fonte.

  1. A partir do seu Espaço de Trabalho, abra a casa de eventos e selecione a base 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, está a ingerir dados do Armazenamento do Azure.

    Captura de ecrã dos blocos get data com a opção de armazenamento Azure destacada.

Configurar

  1. Selecione uma tabela de destino. Para ingerir dados numa nova tabela, selecione + Nova tabela e introduza o nome da tabela.

    Observação

    Os nomes das tabelas podem ter até 1.024 caracteres, incluindo espaços, caracteres alfanuméricos, hífens e sublinhados. Não há suporte para caracteres especiais.

  2. Em Configurar a ligação do Armazenamento de Blobs do Azure, certifique-se de que a ingestão contínua está ativada. Ele está ativado por padrão.

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

    Para criar uma nova conexão:

    1. Selecione Conectar a uma conta de armazenamento.

      Captura de ecrã do separador Configurar com Ingestão Contínua e Conectar 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.
      Contentor O contêiner de armazenamento que contém o arquivo que você deseja ingerir.
    3. No campo Ligação, abra o menu suspenso e selecione + Nova ligação e, em seguida, selecione Guardar>Fechar. As configurações de conexão são pré-preenchidas.

    Observação

    Quando crias uma nova ligação, também crias um novo event stream. O nome é definido como <storage_account_name>_eventstream. Não removas o fluxo contínuo de eventos de ingestão do espaço de trabalho.

    Para usar uma conexão existente:

    1. Selecione Selecionar uma conta de armazenamento existente.

      Captura de ecrã do separador Configurar com Ingestão Contínua e Conectar 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 ligado à tua conta de armazenamento do Fabric.
      Contentor O contêiner de armazenamento que contém o arquivo que você deseja ingerir.
      Conexão Este campo é pré-preenchido com a cadeia de ligação.
    3. No campo Connection, abra o menu suspenso e selecione a cadeia de conexão existente da 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 Filtrar dados para ingerir ficheiros com um caminho específico de pasta.
    Extensão do arquivo Filtre dados para ingerir ficheiros apenas com uma extensão de ficheiro específica.
  5. Na secção de definições de Eventstream , selecione os eventos a monitorizar nas definições>avançadas Tipos de eventos. Por padrão, Blob criado é selecionado. Você também pode selecionar Blob renomeado.

    Captura de ecrã das definições avançadas com o menu suspenso Tipos de Eventos expandido.

  6. Selecione Avançar para visualizar os dados.

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

A guia Inspecionar é aberta com uma pré-visualização dos dados.

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

Captura de ecrã do separador Inspecionar mostrando uma pré-visualização dos dados ingeridos antes de selecionar Terminar.

Observação

Para desencadear a ingestão contínua e a pré-visualização dos 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 as 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 visualizar e copiar os comandos automáticos gerados a partir de suas entradas. Também podes abrir os comandos num conjunto de consultas KQL.

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

Editar colunas

Observação

  • Para formatos tabulares (CSV, TSV, PSV), 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, você pode acabar com colunas vazias.

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

  • Tipo de Tabela é novo ou existente
  • O 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, eliminar coluna
Tabela existente Novo mapeamento Adicionar coluna (na qual você pode alterar o tipo de dados, renomear e atualizar)
Tabela existente Mapeamento existente nenhuma

Captura de ecrã do editor de colunas com as colunas da tabela abertas para editar nomes, tipos de dados e mapeamentos.

Mapeando transformações

Alguns mapeamentos de formato de dados (Parquet, JSON e Avro) suportam transformações simples durante a 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 fonte tendo o tipo de dados int ou long. Para obter mais informações, consulte a lista completa de transformações de mapeamento suportadas.

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

Tabela (CSV, TSV, PSV):

  • Se estiver a ingerir formatos tabulares numa tabela existente, pode selecionar Avançadas>Manter o esquema da tabela. Os dados tabulares não incluem necessariamente os nomes das colunas usadas para mapear os dados de origem para as colunas existentes. Quando essa opção é marcada, 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 os dados de entrada, independentemente da estrutura dos dados.

    Captura de ecrã das opções avançadas.

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

    Captura de ecrã onde a primeira linha é a alternância do cabeçalho da coluna.

Tabela (CSV, TSV, PSV):

  • Se estiver a ingerir formatos tabulares numa tabela existente, selecione Table_mapping>Usar esquema existente. Os dados tabulares não incluem necessariamente os nomes das colunas usadas para mapear os dados de origem para as colunas existentes. Ao selecionar esta opção, o mapeamento é feito por ordem e o esquema da tabela mantém-se igual. Se eliminar esta opção, são criadas novas colunas para os dados recebidos, independentemente da estrutura de dados.

  • Para usar a primeira linha como nomes de coluna, selecione Cabeçalho da primeira linha.

    Captura de ecrã das opções avançadas de CSV, incluindo controlos para o cabeçalho da primeira fila e definições do delimitador.

JSON:

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

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

Consulte o resumo da ingestão

Na janela de Resumo , todos os passos mostram assinalações verdes quando a ingestão de dados termina com sucesso. Você pode selecionar um cartão para explorar os dados, excluir os dados ingeridos ou criar um painel com métricas-chave.

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

Quando fecha a janela, pode ver a ligação no separador 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 explorador de banco de dados KQL com fluxos de dados realçados.