Giriş
Yukarıda schema ile payload için alanlar tanımlıdır. Açıklaması şöyle
before: This field contains the state of the record before the operation. It is optional because it may not be present for all events.after: This field contains the state of the record after the operation. It is always present for INSERT and UPDATE events.source: This field contains information about the Debezium connector that generated the event.op: This field specifies the type of operation performed on the record.ts_ms: This field specifies the timestamp of the event in milliseconds since the Unix epoch.transaction: This field contains information about the transaction in which the event occurred. It is optional because it can be null for non-transactional operations.
Read
Örnek
{
"schema": {
"type": "struct",
"fields": [ ... ],
"optional": false,
"name": "dbserver1.inventory.customers.Envelope"
},
"payload": {
"before": null,
"after": {
"id": 1004,
"first_name": "Anne",
"last_name": "Kretchmar",
"email": "annek@noanswer.org"
},
"source": {
"version": "1.6.1.Final",
"connector": "mysql",
"name": "dbserver1",
"ts_ms": 1630246982521,
"snapshot": "true",
"db": "inventory",
"sequence": null,
"table": "customers",
"server_id": 0,
"gtid": null,
"file": "mysql-bin.000008",
"pos": 154,
"row": 0,
"thread": null,
"query": null
},
"op": "r",
"ts_ms": 1630246982521,
"transaction": null
}
}Insert İle Yeni Satır - Create
op alanı c yani CREATE gelir. Payload kısmında before ve after bölümleri var. Bu bölümlerde sütun isimleri var. Yeni satır ise before alanı null gelir.
Örnek{"payload":{"before":null,"after":{"id":1005,"first_name":"Vlad","last_name":"Mihalcea","email":"vlad@acme.org"},"source":{"name":"dbserver1","server_id":223344,"ts_sec":1500369632,"gtid":null,"file":"mysql-bin.000003","pos":364,"row":0,"snapshot":null,"thread":13,"db":"inventory","table":"customers"},"op":"c","ts_ms":1500369632095}}
Update
op alanı u yani UPDATE gelir. Hem before hem de after kısmı doludur
Örnek
{"payload":{ "before":{ "id":1005, "first_name":"Vlad", "last_name":"Mihalcea", "email":"vlad@acme.org" }, "after":{ "id":1005, "first_name":"Vlad", "last_name":"Mihalcea", "email":"vlad.mihalcea@acme.org" }, "source":{ "name":"dbserver1", "server_id":223344, "ts_sec":1500369929, "gtid":null, "file":"mysql-bin.000003", "pos":673, "row":0, "snapshot":null, "thread":13, "db":"inventory", "table":"customers" }, "op":"u", "ts_ms":1500369929464 } }
Delete
op alanı d yani DELETE gelir. after kısmı null gelir
Örnek
{
"payload":{
"before":{
"id":1005,
"first_name":"Vlad",
"last_name":"Mihalcea",
"email":"vlad.mihalcea@acme.org"
},
"after":null,
"source":{
"name":"dbserver1",
"server_id":223344,
"ts_sec":1500370394,
"gtid":null,
"file":"mysql-bin.000003",
"pos":1025,
"row":0,
"snapshot":null,
"thread":13,
"db":"inventory",
"table":"customers"
},
"op":"d",
"ts_ms":1500370394589
}
}
Hiç yorum yok:
Yorum Gönder