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.
Pré-requisitos
- Uma subscrição do Azure. Crie uma conta do Azure gratuita
- Um hub de eventos
- Um espaço de trabalho com uma capacidade habilitada para Microsoft Fabric
- Um banco de dados KQL com permissões de edição
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.
No portal do Azure, navegue até a instância de hubs de eventos que você deseja conectar.
Em Configurações, selecione Políticas de acesso compartilhado
Selecione +Adicionar para adicionar uma nova política SAS ou selecione uma política existente com Gerenciar permissões.
Insira um nome de política.
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.
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
Na faixa de opções inferior do banco de dados KQL, selecione Obter dados.
Na janela Obter dados, a guia Origem está selecionada.
Selecione a fonte de dados na lista disponível. Neste exemplo, você está ingerindo dados de Hubs de Eventos.
Configurar
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.
Selecione Criar nova conexão ou selecione Conexão existente e avance para a próxima etapa.
Create new connection
Preencha as configurações de conexão de acordo com a tabela a seguir:
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. 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.
Preencha os seguintes campos de acordo com a tabela:
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. 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.
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.
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 |
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:
- Mapeie o
Body
campo do evento capturado para uma coluna do tipodynamic
na tabela de destino. - 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.
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.
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.