pulsar-client tool provides a command-line interface for producing and consuming messages with Apache Pulsar.
Usage
Global Options
| Option | Description |
|---|---|
--url | Broker service URL (e.g., pulsar://localhost:6650) |
--proxy-url | Proxy server URL to connect through |
--proxy-protocol | Proxy protocol (SNI or None) |
--auth-plugin | Authentication plugin class name |
--auth-params | Authentication parameters |
--listener-name | Listener name for the broker |
--tlsTrustCertsFilePath | Path to TLS trust certificates |
-ml, --memory-limit | Pulsar client memory limit (e.g., 32M, 64M) |
-h, --help | Display help information |
-v | Display version information |
Available Commands
produce
Produce messages to a topic.| Option | Description |
|---|---|
-m, --messages | Messages to send (comma-separated) |
-f, --files | File paths containing messages |
-n, --num-produce | Number of times to send messages |
-r, --rate | Rate in msg/sec (0 = as fast as possible) |
-db, --disable-batching | Disable batch sending |
-c, --chunking | Enable chunking for large messages |
-s, --separator | Message separator character (default: comma) |
-p, --properties | Message properties (key=value format) |
-k, --key | Partitioning key |
-kvk, --key-value-key | Key for KeyValue schema |
-kvkf, --key-value-key-file | File with key for KeyValue schema |
-vs, --value-schema | Value schema type (bytes, avro, json, string) |
-ks, --key-schema | Key schema type |
-kvet, --key-value-encoding-type | KeyValue encoding (separated or inline) |
-ekn, --encryption-key-name | Encryption key name |
-ekv, --encryption-key-value | Encryption key URI |
-dr, --disable-replication | Disable geo-replication |
consume
Consume messages from a topic.| Option | Description |
|---|---|
-s, --subscription-name | Subscription name (required) |
-t, --subscription-type | Subscription type (Exclusive, Shared, Failover, Key_Shared) |
-m, --subscription-mode | Subscription mode (Durable, NonDurable) |
-p, --subscription-position | Initial position (Latest, Earliest) |
-n, --num-messages | Number of messages (0 = infinite) |
--hex | Display binary messages in hex |
--hide-content | Don’t display message content |
-r, --rate | Consume rate in msg/sec (0 = unlimited) |
--regex | Topic name is a regex pattern |
-q, --queue-size | Consumer receiver queue size |
-mc, --max_chunked_msg | Max pending chunk messages |
-ac, --auto_ack_chunk_q_full | Auto ack oldest chunked message when queue full |
--pool-messages | Use pooled message buffers |
-st, --schema-type | Schema type for decoding |
-ekv, --encryption-key-value | Private key for decryption |
-cf, --crypto-failure-action | Action on crypto failure (FAIL, DISCARD, CONSUME) |
read
Read messages from a topic using a reader.| Option | Description |
|---|---|
-n, --num-messages | Number of messages to read (0 = infinite) |
--start-message-id | Start message ID (earliest, latest, or ID) |
-r, --rate | Read rate in msg/sec (0 = unlimited) |
--hex | Display binary messages in hex |
--hide-content | Don’t display message content |
-q, --queue-size | Reader receiver queue size |
-mc, --max_chunked_msg | Max pending chunk messages |
-ac, --auto_ack_chunk_q_full | Auto ack when queue is full |
--pool-messages | Use pooled message buffers |
-st, --schema-type | Schema type for decoding |
-ekv, --encryption-key-value | Private key for decryption |
-cf, --crypto-failure-action | Action on crypto failure |
Schema Types
Supported schema types for producing and consuming:bytes- Raw bytes (default)string- UTF-8 stringsjson- JSON formatavro- Apache Avroprotobuf- Protocol Buffersauto- Auto-detect schema
Examples
Basic Message Production
Advanced Production
Production with Files
JSON Messages
AVRO Messages
KeyValue Schema
Message Consumption
Pattern-Based Consumption
Reading Messages
Encrypted Messages
Using Non-Durable Subscriptions
Configuration
Create a configuration file atconf/client.conf:
Authentication
Token Authentication
TLS Authentication
OAuth 2.0 Authentication
Performance Testing
Troubleshooting
View Message Content and Metadata
Binary Messages
Related Commands
- pulsar-admin - Administer Pulsar clusters
- pulsar - Run Pulsar components