Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
O Azure Synapse Analytics Data Explorer (Visualização) será desativado em 7 de outubro de 2025. Após essa data, as cargas de trabalho em execução no Synapse Data Explorer serão excluídas e os dados do aplicativo associados serão perdidos. É altamente recomendável migrar para o Eventhouse no Microsoft Fabric.
O programa Microsoft Cloud Migration Factory (CMF) foi projetado para ajudar os clientes na migração para o Fabric. O programa oferece recursos práticos de teclado sem nenhum custo para o cliente. Estes recursos são atribuídos por um período de 6-8 semanas, com um âmbito pré-definido e acordado. As nomeações de clientes são aceites pela equipa da conta Microsoft ou diretamente através do envio de um pedido de ajuda à equipa CMF.
Os Hubs de Eventos do Azure são uma plataforma de streaming de big data e um serviço de ingestão de eventos. O Azure Synapse Data Explorer oferece ingestão contínua a partir de Event Hubs geridos pelo cliente.
O pipeline de ingestão do Event Hubs transfere eventos para o Azure Synapse Data Explorer em vários passos. Primeiro crias um Event Hubs no portal Azure. Depois, cria uma tabela alvo no Azure Synapse Data Explorer, na qual os dados num determinado formato serão ingeridos usando as propriedades de ingesta indicadas. A ligação dos hubs de eventos necessita saber o encaminhamento dos eventos. Os dados são incorporados com propriedades selecionadas de acordo com o mapeamento de propriedades do sistema de eventos. Crie uma ligação a Centros de Eventos para criar um Hub de Eventos e enviar eventos. Esse processo pode ser gerenciado por meio do portal do Azure, programaticamente com C# ou Python ou com o modelo do Azure Resource Manager.
Para informações gerais sobre a ingestão de dados no Azure Synapse Data Explorer, consulte a visão geral da ingestão de dados do Azure Synapse Data Explorer.
Formato dos dados
Os dados são lidos dos Hubs de Eventos na forma de objetos EventData .
Consulte os formatos suportados.
Observação
O Event Hub não suporta o formato .raw.
Os dados podem ser compactados usando o algoritmo de
GZipcompressão. EspecifiqueCompressionas propriedades de ingestão.- A compressão de dados não é suportada para formatos comprimidos (Avro, Parquet, ORC).
- Codificação personalizada e propriedades do sistema embutido não são suportadas em dados comprimidos.
Propriedades de ingestão
As propriedades de ingestão instruem o processo de ingestão, para onde encaminhar os dados e como processá-los. Você pode especificar as propriedades de ingestão dos eventos usando o EventData.Properties. Você pode definir as seguintes propriedades:
| Propriedade | Description |
|---|---|
| Table | Nome (sensível a maiúsculas e minúsculas) da tabela de destino existente. Substitui o Table definido no painel Data Connection. |
| Formato | Formato de dados. Substitui o Data format definido no painel Data Connection. |
| ReferênciaDeMapeamentoDeIngestão | Nome do mapeamento de ingestão existente a ser usado. Substitui o Column mapping definido no painel Data Connection. |
| Compression | Compressão de dados ( None padrão), ou GZip compressão. |
| Codificação | Codificação de dados, o padrão é UTF8. Pode ser qualquer uma das codificações suportadas pelo .NET. |
| Etiquetas | Uma lista de tags para associar aos dados ingeridos, formatada como uma string de matriz JSON. Há implicações de desempenho ao usar tags. |
Observação
Somente os eventos enfileirados após a criação da conexão de dados são ingeridos.
Roteamento de eventos
Quando configura uma ligação Event Hubs ao cluster Azure Synapse Data Explorer, especifica as propriedades da tabela alvo (nome da tabela, formato de dados, compressão e mapeamento). O encaminhamento padrão dos seus dados também é referido como static routing.
Também pode especificar propriedades da tabela alvo para cada evento, usando propriedades de evento. A ligação irá encaminhar dinamicamente os dados conforme especificado no EventData.Properties, sobrepondo-se às propriedades estáticas deste evento.
No exemplo seguinte, defina os detalhes dos Centros de Eventos e envie dados da métrica meteorológica para a tabela WeatherMetrics.
Os dados estão em json formato.
mapping1 está pré-definido na tabela WeatherMetrics.
Advertência
Este exemplo utiliza autenticação por string de ligação para se ligar a Event Hubs para simplificar o exemplo. No entanto, codificar uma cadeia de conexão em seu script requer um grau muito alto de confiança no aplicativo e acarreta riscos de segurança.
Para soluções seguras e de longo prazo, use uma destas opções:
- Autenticação sem senha
- Armazene sua cadeia de conexão em um Cofre de Chaves do Azure e use esse método para recuperá-la em seu código.
var eventHubNamespaceConnectionString=<connection_string>;
var eventHubName=<event_hub>;
// Create the data
var metric = new Metric { Timestamp = DateTime.UtcNow, MetricName = "Temperature", Value = 32 };
var data = JsonConvert.SerializeObject(metric);
// Create the event and add optional "dynamic routing" properties
var eventData = new EventData(Encoding.UTF8.GetBytes(data));
eventData.Properties.Add("Table", "WeatherMetrics");
eventData.Properties.Add("Format", "json");
eventData.Properties.Add("IngestionMappingReference", "mapping1");
eventData.Properties.Add("Tags", "['mydatatag']");
// Send events
var eventHubClient = EventHubClient.CreateFromConnectionString(eventHubNamespaceConnectionString, eventHubName);
eventHubClient.Send(eventData);
eventHubClient.Close();
Mapeamento de propriedades do sistema de eventos
As propriedades do sistema armazenam propriedades que são definidas pelo serviço Event Hubs no momento em que o evento é enfileirado. A ligação Azure Synapse Data Explorer Event Hubs irá incorporar as propriedades selecionadas nos dados que aparecem na sua tabela.
Observação
- Estão suportadas as propriedades do sistema para
jsone formatos tabulares (csv,tsvetc.), e não para dados compactados. Ao usar um formato sem suporte, os dados ainda serão ingeridos, mas as propriedades serão ignoradas. - Para dados tabulares, as propriedades do sistema são suportadas apenas para mensagens de eventos com um único registo.
- Para dados JSON, as propriedades do sistema também são suportadas para mensagens de eventos de vários registros. Nesses casos, as propriedades do sistema são adicionadas somente ao primeiro registro da mensagem de evento.
- Para
csvmapeamento, as propriedades são adicionadas no início do registro na ordem listada na tabela Propriedades do sistema. - Para o mapeamento de
json, as propriedades são adicionadas de acordo com os nomes de propriedade na tabela Propriedades do sistema.
Propriedades do sistema
O Event Hubs expõe as seguintes propriedades do sistema:
| Propriedade | Tipo de dados | Description |
|---|---|---|
| x-opt-tempo-de-enfileiramento | datetime | Hora UTC em que foi enfileirado o evento |
| x-opt-sequência-número | long | O número lógico de sequência do evento dentro do fluxo de partição dos Event Hubs |
| x-opt-compensação | cadeia (de caracteres) | O deslocamento do evento em relação ao fluxo de partições dos Event Hubs. O identificador de deslocamento é único dentro de uma partição do fluxo dos Event Hubs |
| x-opt-publicador | cadeia (de caracteres) | O nome do editor, se a mensagem tiver sido enviada para um destino do editor |
| chave de partição x-opt | cadeia (de caracteres) | A chave de partição da partição correspondente que armazenou o evento |
Se você selecionou Propriedades do sistema de eventos na seção Fonte de Dados da tabela, deverá incluir as propriedades no esquema e mapeamento da tabela.
Exemplos de mapeamento de esquema
Exemplo de mapeamento de esquema de tabela
Se os dados incluírem três colunas (Timespan, , e Metric) e as propriedades incluídas forem Value e x-opt-enqueued-time, crie ou altere o esquema da tabela x-opt-offsetusando este comando:
.create-merge table TestTable (TimeStamp: datetime, Metric: string, Value: int, EventHubEnqueuedTime:datetime, EventHubOffset:string)
Exemplo de mapeamento CSV
Execute os seguintes comandos para adicionar dados ao início do registro. Observe os valores ordinais.
.create table TestTable ingestion csv mapping "CsvMapping1"
'['
' { "column" : "Timespan", "Properties":{"Ordinal":"2"}},'
' { "column" : "Metric", "Properties":{"Ordinal":"3"}},'
' { "column" : "Value", "Properties":{"Ordinal":"4"}},'
' { "column" : "EventHubEnqueuedTime", "Properties":{"Ordinal":"0"}},'
' { "column" : "EventHubOffset", "Properties":{"Ordinal":"1"}}'
']'
Exemplo de mapeamento JSON
Os dados são adicionados usando o mapeamento de propriedades do sistema. Execute estes comandos:
.create table TestTable ingestion json mapping "JsonMapping1"
'['
' { "column" : "Timespan", "Properties":{"Path":"$.timestamp"}},'
' { "column" : "Metric", "Properties":{"Path":"$.metric"}},'
' { "column" : "Value", "Properties":{"Path":"$.value"}},'
' { "column" : "EventHubEnqueuedTime", "Properties":{"Path":"$.x-opt-enqueued-time"}},'
' { "column" : "EventHubOffset", "Properties":{"Path":"$.x-opt-offset"}}'
']'
Ligação aos Hubs de Eventos
Observação
Para melhor desempenho, crie todos os recursos na mesma região do cluster Azure Synapse Data Explorer.
Criar um Hub de Eventos
Se ainda não tens um, cria um Hub de Eventos. A ligação aos Event Hubs pode ser gerida através do portal Azure, programaticamente com C# ou Python, ou com o modelo Azure Resource Manager.
Observação
- A contagem de partições não é alterável, por isso deves considerar a escala a longo prazo ao definir a contagem de partições.
- O grupo de consumidores deve ser único por consumidor. Crie um grupo de consumidores dedicado à ligação Azure Synapse Data Explorer.
Enviar eventos
Vê a aplicação de exemplo que gera dados e os envia para um Event Hubs.
Para um exemplo de como gerar dados de exemplo, veja Ingest data from Event Hubs into Azure Synapse Data Explorer
Configurar a solução de recuperação de desastres geográficos
A Event Hubs oferece uma solução de recuperação de desastres geográficos .
O Azure Synapse Data Explorer não suporta Alias namespaces do Event Hubs. Para implementar a recuperação de desastres geográficos na sua solução, crie duas conexões de dados Event Hubs: uma para o namespace principal e outra para o namespace secundário. O Azure Synapse Data Explorer vai ouvir ambas as ligações dos Event Hubs.
Observação
É responsabilidade do usuário implementar um failover do namespace primário para o namespace secundário.
Próximos passos
- Ingerir dados dos Event Hubs no Azure Synapse Data Explorer
- Crie uma ligação de dados Event Hubs para o Azure Synapse Data Explorer usando C#
- Crie uma ligação de dados Event Hubs para o Azure Synapse Data Explorer usando Python
- Crie uma ligação de dados Event Hubs para o Azure Synapse Data Explorer usando o modelo Azure Resource Manager