Adicionar dados personalizados a eventos no Hubs de Eventos do Azure
Uma vez que um evento consiste principalmente num conjunto opaco de bytes, pode ser difícil para os consumidores desses eventos tomarem decisões informadas sobre como processá-los. Para permitir que os publicadores de eventos ofereçam melhor contexto aos consumidores, os eventos também podem conter metadados personalizados, sob a forma de um conjunto de pares chave-valor. Um cenário comum para a inclusão de metadados é fornecer uma sugestão sobre o tipo de dados contidos por um evento, para que os consumidores compreendam o seu formato e possam anular a serialização adequada.
Nota
Estes metadados não são utilizados pelo serviço Hubs de Eventos ou de qualquer forma relevante; existe apenas para coordenação entre editores de eventos e consumidores.
As secções seguintes mostram-lhe como adicionar dados personalizados a eventos em diferentes linguagens de programação.
.NET
var eventBody = new BinaryData("Hello, Event Hubs!");
var eventData = new EventData(eventBody);
eventData.Properties.Add("EventType", "com.microsoft.samples.hello-event");
eventData.Properties.Add("priority", 1);
eventData.Properties.Add("score", 9.0);
Para obter o exemplo de código completo, veja Publicar eventos com metadados personalizados.
Java
EventData firstEvent = new EventData("EventData Sample 1".getBytes(UTF_8));
firstEvent.getProperties().put("EventType", "com.microsoft.samples.hello-event");
firstEvent.getProperties().put("priority", 1);
firstEvent.getProperties().put("score", 9.0);
Para obter o exemplo de código completo, veja Publicar eventos com metadados personalizados.
Python
event_data = EventData('Message with properties')
event_data.properties = {'event-type': 'com.microsoft.samples.hello-event', 'priority': 1, "score": 9.0}
Para obter o exemplo de código completo, veja Enviar lote de Dados de Eventos com propriedades.
JavaScript
let eventData = { body: "First event", properties: { "event-type": "com.microsoft.samples.hello-event", "priority": 1, "score": 9.0 } };
Passos seguintes
Veja os seguintes inícios rápidos e exemplos.
- Inícios Rápidos: .NET, Java, Python, JavaScript
- Exemplos no GitHub: .NET, Java, Python, JavaScript, TypeScript