Adicionar dados personalizados a eventos nos Hubs de Eventos do Azure
Como um evento consiste principalmente em um conjunto de bytes opaco, pode ser difícil para os consumidores desses eventos tomar decisões informadas sobre como processá-los. Para permitir que os editores de eventos ofereçam um contexto melhor para os consumidores, os eventos também podem conter metadados personalizados, na forma de um conjunto de pares chave-valor. Um cenário comum para a inclusão de metadados é fornecer uma dica sobre o tipo de dados contidos em um evento, para que os consumidores compreendam seu formato e possam desserializá-los adequadamente.
Observação
Esses metadados não são usados pelo (ou de uma forma significativa para o) serviço Hubs de Eventos; ele só existe para coordenação entre editores de eventos e consumidores.
As seções a seguir mostram 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, consulte Publicando 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, consulte 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, consulte Enviar lote de dados de evento com propriedades.
JavaScript
let eventData = { body: "First event", properties: { "event-type": "com.microsoft.samples.hello-event", "priority": 1, "score": 9.0 } };
Próximas etapas
Consulte os seguintes inícios rápidos e exemplos.
- Inícios rápidos: .NET, Java, Python, JavaScript
- Exemplos no GitHub: .NET, Java, Python, JavaScript, TypeScript