anchor.diff:  image::dbz-to-multiple-simplified.svg[Scenario topology]
   
   == Configuration
  -We will use this https://github.com/debezium/debezium-examples/tree/master/unwrap-smt[compose] for a fast deployment of the demo.
  +We will use this https://github.com/debezium/debezium-examples/tree/master/unwrap-smt[Docker Compose file] for a fast deployment of the demo.
   The deployment consists of following Docker images:
   
   * https://hub.docker.com/r/debezium/zookeeper/[Apache ZooKeeper]
  
positive.code: * Empty PostgreSQL
  * Empty ElasticSearch
  
  We again use the `UnwrapFromEnvelope` transformation to automatically extract a new row record and thus effectively convert the Debezium complex record into a simple one consumable by other connectors. Both JDBC and Elasticsearch connectors expect the same format.
  
  == Example
  Let's move directly to our exmaple as that's where the changes are visible.
  
  First of all we need to deploy all components.
  [source,bash,indent=0]
  
negative.code: 
  The request configures these options:
  
  1. extracting only the new rows state from Debezium's change data message
  2. extracting `id` field from the key `struct`, then the same key is used for the source and both destinations.
  This is to overcome limitation of Elasticsearch connector that supports only `int`s (of all sizes) and `string`s as keys. If we do not extract the `id` the messages will be filtered out by the connector because of unknown key type.
  3. use key from the event instead of generating a synthetic one
  4. type under which the events will be registered in Elasticsearch
  
  