如何为Kafka Connect Camel Http Sink Connector设置Content-Type请求头
为CamelHttpsSinkConnector设置自定义HTTP请求头
针对org.apache.camel.kafkaconnector.https.CamelHttpsSinkConnector,有两种常见方式设置Content-Type这类自定义HTTP请求头:
1. 全局固定请求头
如果所有出站请求都需要使用相同的HTTP头,直接在连接器配置中添加以camel.sink.header.为前缀的配置项即可:
# 目标HTTP端点 camel.sink.path.url=https://your-target-api.com/endpoint # 设置Content-Type头 camel.sink.header.Content-Type=application/json # 若需添加其他头,按同样格式配置 camel.sink.header.Authorization=Bearer your-auth-token
camel.sink.header.是Camel Kafka Connector约定的前缀,后面紧跟具体的HTTP头名称,值就是你要设置的头内容。
2. 从Kafka消息头动态映射
如果需要根据每条Kafka消息的头部信息动态设置HTTP请求头,可以使用Camel的简单表达式引用Kafka消息头:
camel.sink.path.url=https://your-target-api.com/endpoint # 从Kafka消息的"message_content_type"头中取值,设置为HTTP的Content-Type camel.sink.header.Content-Type=${header.message_content_type}
这里的${header.message_content_type}会自动读取当前Kafka消息中名为message_content_type的头部值,作为HTTP请求的Content-Type内容,替换成你实际的Kafka消息头名称即可。
内容的提问来源于stack exchange,提问作者mkueng
相关产品推荐
相关产品推荐

