Modelo de mensagem de streaming de eventos de dados mestre ( IBM Master Data Management )
Quando você transmite eventos de dados mestre para sistemas downstream usando o recurso de IBMMaster Data Management transmissão de eventos e uma Apache Kafka conexão, as mensagens de evento seguem um modelo padrão.
A Apache Kafka mensagem gerada tem três componentes:
- O cabeçalho da mensagem inclui metadados para a mensagem
- A chave da mensagem inclui a parte de acionamento da mensagem
- O valor da mensagem inclui os detalhes restantes da mensagem.
Cabeçalho da Mensagem
| Chave do cabeçalho da mensagem | Valor |
|---|---|
| Serializador | O serializador utilizado para a Kafka mensagem. O único serializador compatível é JSON. |
| EVENT_TYPE | Um dos tipos de evento suportados para os quais a mensagem foi gerada, como record_change ou entity_change. |
| MESSAGE_TS0 | Um carimbo de data/hora mostrando a hora em que a mensagem foi gerada. |
| ID de correlação cruzada | O ID de correlação da transação para a qual a mensagem foi gerada. Por exemplo: 5af16599-f0fc-41f4-8957-4774a5c18ebf. |
Chave de mensagem
| Chaves de mensagem | Valor |
|---|---|
| ação | A ação que causou o evento. Os valores possíveis são create, update, delete, link e unlink. |
| TRIGGER_TYPE | O evento (gatilho) que causou a geração da mensagem. Para eventos de alteração de dados, o gatilho é causado por um record change ou um manual_linkage (link ou desvinculação). |
| chave_partição | Um identificador exclusivo para este evento de alteração de dados. A chave é usada durante o envio da mensagem para tópicos com várias partições. |
Por exemplo:
{
"action": "create",
"trigger_type": "record_change",
"partition_key": 4312
}
Valor da mensagem
O valor da mensagem é composto por duas partes principais:
- Detalhes do registro que causou o evento de alteração de dados.
- Um conjunto de entidades que foram afetadas por esta ação.
| Chave de valor da mensagem | Valor |
|---|---|
| detalhes do registro | Detalhes completos do registro e do evento que desencadeou a alteração dos dados. No caso de um link ou deslink manual, esse valor é null porque não houve nenhuma alteração subjacente no registro que causasse um evento de alteração de entidade. |
| detalhes_da_entidade | Um conjunto de entidades que foram afetadas por uma ação. A ação pode ser um link record_change ou manual_linkage um unlink.Este valor contém os detalhes da entidade, a ação, o ID do registro anterior e o ID do registro atual. As alterações na composição da entidade são capturadas usando before e current, que armazenam os números dos registros que estavam associados antes e depois da alteração na composição da entidade. |
Por exemplo:
{
"record_details": {
"action": "create”,
"record_type": "person”,
"record_id": "872882872”,
"record_source": "TEST-6”,
"record_number": 4312
},
"entity_details": {
"entities": [
{
"entity_id": "person_entity-4312”,
"entity_type": "person_entity”,
"timestamp": 1683216456613,
"action": "create”,
"before": [],
"current: [4312]
}
]
}
}