Partilhar via


Obter dados dos Hubs de Eventos do Azure

Neste artigo, você aprenderá como obter dados de Hubs de Eventos para seu banco de dados KQL no Microsoft Fabric. Os Hubs de Eventos do Azure são uma plataforma de streaming de big data e um serviço de ingestão de eventos que pode processar e direcionar milhões de eventos por segundo.

Para transmitir dados dos Hubs de Eventos para o Real-Time Intelligence, siga duas etapas principais. A primeira etapa é executada no portal do Azure, onde você define a política de acesso compartilhado em sua instância do hub de eventos e captura os detalhes necessários para se conectar posteriormente por meio dessa política.

A segunda etapa ocorre no Real-Time Intelligence in Fabric, onde você conecta um banco de dados KQL ao hub de eventos e configura o esquema para dados de entrada. Esta etapa cria duas conexões. A primeira conexão, chamada de "conexão de nuvem", conecta o Microsoft Fabric à instância do hub de eventos. A segunda conexão conecta a "conexão na nuvem" ao seu banco de dados KQL. Depois de concluir a configuração dos dados do evento e do esquema, os dados transmitidos ficam disponíveis para consulta usando um conjunto de consultas KQL.

Para obter dados de Hubs de Eventos usando o Eventstream, consulte Adicionar origem de Hubs de Eventos do Azure a um fluxo de eventos.

Pré-requisitos

Aviso

Seu hub de eventos não pode estar protegido por um firewall.

Definir uma política de acesso compartilhado no hub de eventos

Antes de criar uma conexão com os dados dos Hubs de Eventos, você precisa definir uma política de acesso compartilhado (SAS) no hub de eventos e coletar algumas informações para serem usadas posteriormente na configuração da conexão. Para obter mais informações sobre como autorizar o acesso aos recursos dos Hubs de Eventos, consulte Assinaturas de acesso compartilhado.

  1. No portal do Azure, navegue até a instância de hubs de eventos que você deseja conectar.

  2. Em Configurações, selecione Políticas de acesso compartilhado

  3. Selecione +Adicionar para adicionar uma nova política SAS ou selecione uma política existente com Gerenciar permissões.

    Captura de ecrã a mostrar a criação de uma política SAS no portal do Azure.

  4. Insira um nome de política.

  5. Selecione Gerenciar e, em seguida , Criar.

Reúna informações para a conexão com a nuvem

No painel de políticas SAS, tome nota dos quatro campos seguintes. Talvez você queira copiar esses campos e colá-los em algum lugar, como um bloco de notas, para usar em uma etapa posterior.

Captura de tela mostrando como preencher a conexão com dados do portal do Azure.

Referência de campo Campo Description Exemplo
a Instância de Hubs de Eventos O nome da instância do hub de eventos. iotdata
b Política SAS O nome da política SAS criado na etapa anterior DocsTest
c Chave primária A chave associada à política SAS Neste exemplo, começa com PGGIISb009...
d Cadeia de conexão-chave primária Neste campo, você deseja copiar apenas o namespace do hub de eventos, que pode ser encontrado como parte da cadeia de conexão. eventhubpm15910.servicebus.windows.net

Origem

  1. Na faixa de opções inferior do banco de dados KQL, selecione Obter dados.

    Na janela Obter dados, a guia Origem está selecionada.

  2. Selecione a fonte de dados na lista disponível. Neste exemplo, você está ingerindo dados de Hubs de Eventos.

    Captura de ecrã da janela obter dados com o separador origem selecionado.

Configurar

  1. Selecione uma tabela de destino. Se pretender ingerir dados numa nova tabela, selecione + Nova tabela e introduza um nome de tabela.

    Nota

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

  2. Selecione Criar nova conexão ou selecione Conexão existente e avance para a próxima etapa.

Create new connection

  1. Preencha as configurações de conexão de acordo com a tabela a seguir:

    Captura de ecrã do separador origem.

    Definição Descrição Valor de exemplo
    Espaço de nomes do hub de eventos Campo d da tabela acima. eventhubpm15910.servicebus.windows.net
    Hub de eventos Campo a da tabela acima. O nome da instância do hub de eventos. iotdata
    Connection Para usar uma conexão de nuvem existente entre Malha e Hubs de Eventos, selecione o nome dessa conexão. Caso contrário, selecione Criar nova conexão. Criar nova conexão
    Nome da ligação O nome da sua nova ligação à nuvem. Esse nome é gerado automaticamente, mas pode ser substituído. Deve ser exclusivo dentro do locatário do Fabric. Ligação
    Tipo de autenticação Preenchido automaticamente. Atualmente, apenas a Chave de Acesso Partilhada é suportada. Chave de acesso partilhada
    Nome da chave de acesso compartilhada Campo b do quadro acima. O nome que você deu à política de acesso compartilhado. DocsTest
    Chave de acesso partilhada Campo c da tabela acima. A chave primária da política SAS.
  2. Selecione Guardar. Uma nova conexão de dados na nuvem entre a malha e os Hubs de Eventos é criada.

Conecte a conexão de nuvem ao seu banco de dados KQL

Quer tenha criado uma nova ligação à nuvem ou esteja a utilizar uma existente, tem de definir o grupo de consumidores. Opcionalmente, você pode definir parâmetros que definem ainda mais os aspetos da conexão entre o banco de dados KQL e a conexão na nuvem.

  1. Preencha os seguintes campos de acordo com a tabela:

    Captura de tela da criação de conexão de banco de dados.

    Definição Descrição Valor de exemplo
    Grupo de consumidores O grupo de consumidores relevante definido no seu hub de eventos. Para obter mais informações, consulte Grupos de consumidores. Depois de adicionar um novo grupo de consumidores, você precisará selecionar esse grupo na lista suspensa. NovoConsumidor
    Mais parâmetros
    Compressão Compactação de dados dos eventos, como provenientes do hub de eventos. As opções são Nenhum (padrão) ou Compactação Gzip. Nenhuma
    Propriedades do sistema de eventos Para obter mais informações, consulte Propriedades do sistema do hub de eventos. Se houver vários registros por mensagem de evento, as propriedades do sistema serão adicionadas à primeira. Consulte as propriedades do sistema de eventos.
    Data de início da recuperação do evento A conexão de dados recupera eventos de hub de eventos existentes criados desde a data de início da recuperação de eventos. Ele só pode recuperar eventos retidos pelo hub de eventos, com base em seu período de retenção. O fuso horário é UTC. Se nenhuma hora for especificada, a hora padrão será a hora em que a conexão de dados for criada.
  2. Selecione Avançar para continuar na guia Inspecionar.

Propriedades do sistema de eventos

As propriedades do sistema armazenam propriedades definidas pelo serviço Hubs de Eventos no momento em que o evento é enfileirado. A conexão de dados com o hub de eventos pode incorporar um conjunto selecionado de propriedades do sistema nos dados ingeridos em uma tabela com base em um determinado mapeamento.

Property Tipo de Dados Description
x-opt-enfileirado-tempo datetime Hora UTC em que o evento foi enfileirado.
x-opt-seqüência-número long O número de sequência lógica do evento dentro do fluxo de partição do hub de eventos.
x-opt-deslocamento string O deslocamento do evento do fluxo de partição do hub de eventos. O identificador de deslocamento é exclusivo dentro de uma partição do fluxo do hub de eventos.
X-opt-editor string O nome do editor, se a mensagem tiver sido enviada para um ponto de extremidade do editor.
chave de partição x-opt string A chave de partição da partição correspondente que armazenou o evento.

Inspecionar

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

Captura de ecrã do separador inspecionar.

Opcionalmente:

  • Selecione Visualizador de comandos para visualizar e copiar os comandos automáticos gerados a partir de suas entradas.

  • Altere o formato de dados inferido automaticamente selecionando o formato desejado na lista suspensa. Os dados são lidos do hub de eventos na forma de objetos EventData . Os formatos suportados são CSV, JSON, PSV, SCsv, SOHsv TSV, TXT e TSVE.

  • Editar colunas.

  • Explore as opções avançadas com base no tipo de dados.

  • Se os dados apresentados na janela de pré-visualização não estiverem completos, poderá necessitar de mais dados para criar uma tabela com todos os campos de dados necessários. Use os seguintes comandos para buscar novos dados do seu hub de eventos:

    • Descartar e buscar novos dados: descarta os dados apresentados e procura novos eventos.
    • Obter mais dados: pesquisa mais eventos além dos eventos já encontrados.

Editar colunas

Nota

  • 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:

  • O 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, mapear transformação, 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 ecrã de colunas abertas para edição.

Mapeando transformações

Alguns mapeamentos de formato de dados (Parquet, JSON e Avro) suportam transformações simples em 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 fonte tendo o tipo de dados int ou long. As transformações de mapeamento suportadas são:

  • DateTimeFromUnixSeconds
  • DateTimeFromUnixMilliseconds
  • DateTimeFromUnixMicroseconds
  • DateTimeFromUnixNanoseconds

Mapeamento de esquema para Hubs de Eventos Capture arquivos Avro

Uma maneira de consumir dados de Hubs de Eventos é capturar eventos por meio dos Hubs de Eventos do Azure no Armazenamento de Blobs do Azure ou no Armazenamento do Azure Data Lake. Em seguida, você pode ingerir os arquivos de captura à medida que são gravados usando uma Conexão de Dados de Grade de Eventos.

O esquema dos arquivos de captura é diferente do esquema do evento original enviado aos Hubs de Eventos. Você deve projetar o esquema da tabela de destino com essa diferença em mente. Especificamente, a carga útil do evento é representada no arquivo de captura como uma matriz de bytes, e essa matriz não é automaticamente decodificada pela conexão de dados do Azure Data Explorer da Grade de Eventos. Para obter informações mais específicas sobre o esquema de arquivo para os Hubs de Eventos Avro capturar dados, consulte Explorando arquivos Avro capturados nos Hubs de Eventos do Azure.

Para decodificar corretamente a carga útil do evento:

  1. Mapeie o Body campo do evento capturado para uma coluna do tipo dynamic na tabela de destino.
  2. Aplique uma política de atualização que converta a matriz de bytes em uma cadeia de caracteres legível usando a função unicode_codepoints_to_string( ).

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 Esquema de tabela de manutenção avançada>. 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.

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

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

JSON:

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

  • Se você selecionar Ignorar linhas JSON avançadas>com erros, os dados serão ingeridos no formato JSON. Se você deixar essa caixa de seleção desmarcada, os dados serão ingeridos no formato multijson.

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

Resumo

Na janela Preparação de dados, todas as três etapas são marcadas com marcas de seleção verdes quando a ingestão de dados é concluída com êxito. Você pode selecionar um cartão para consultar, soltar os dados ingeridos ou ver um painel do resumo da sua ingestão.

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