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