You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by "jlbelmonte (via GitHub)" <gi...@apache.org> on 2025/09/23 22:37:14 UTC
[D] How to send protobuf binary data via Pulsar REST API? [pulsar]
GitHub user jlbelmonte created a discussion: How to send protobuf binary data via Pulsar REST API?
Hello.
I need to send protobuf messages through Pulsar's HTTP REST API, but I'm running into encoding issues that break compatibility with my existing consumers.
I have an edge case where I can only use the REST API endpoint to produce a message, and my consumers expect raw binary protobuf data.
**What I've Tried:**
* Base64 encoding in JSON payload - Works for sending but consumers receive Base64 string, not binary protobuf, so my consumer fails the decoding.
* BYTES schema type - I tried to setup value schema with type `BYTES` but I get `Unable to add schema SchemaData(type=BYTES...`
* STRING schema or no schema - Same issue, consumers still get Base64 string
* Raw bytes in the body with Content-Type application/octet-stream', gets a 415.
**Questions:**
- Is there a way to send binary protobuf data via REST API so consumers receive raw bytes?
- Any configuration to make Pulsar automatically decode Base64 payloads before delivering to consumers?
- Alternative approaches for HTTP-based binary message production?
**Environment:**
Using Ruby with HTTParty for REST calls
Pulsar broker with JWT authentication
Existing rust protobuf consumers expecting binary data
Any suggestions would be greatly appreciated!
GitHub link: https://github.com/apache/pulsar/discussions/24776
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org