As you know in Camel Kafka Connector there is a mixing between Camel and Kafka headers. There are scenario where a typical user would like to remove some of the Camel Headers, because otherwise he would trigger a particular behavior while moving record between a source connector and sink connector.
Starting from Camel Kafka connector 0.7.0, we introduced the removeHeaders option "camel.remove.headers.pattern=CamelAwsS3BucketName"
This option is valid for both source and sink connector and support any regex.
For example in Camel AWS2 S3 connector there is a particular header, set while consuming file from a bucket ("CamelAwsS3BucketName"), if this header will be passed to a sink connector the bucket name set in the sink connector configuration will be override. For this particular case a user can specify:
name=CamelAWS2S3SinkConnector connector.class=org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector key.converter=org.apache.kafka.connect.storage.StringConverter value.converter=org.apache.kafka.connect.storage.StringConverter topics=mytopic camel.sink.path.bucketNameOrArn=camel-kafka-connector-1 camel.remove.headers.pattern=CamelAwsS3BucketName camel.component.aws2-s3.accessKey=<access_key> camel.component.aws2-s3.secretKey=<secret_key> camel.component.aws2-s3.region=<region>
In this way the header will be removed and the normal flow will go ahead.