Generated using TypeDoc
Optional
audience?: stringOptional
client_Optional
client_Optional
private_Optional
scope?: stringGenerated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Static
setGenerated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
The Pulsar Node.js client can be used to create Pulsar producers and consumers in Node.js. For the supported Pulsar features, see Client Feature Matrix.
+This library works only in Node.js 10.x or later because it uses the +node-addon-api module to wrap the C++ library.
+ + +++Note
+These instructions are only available for versions after 1.8.0. For versions previous to 1.8.0, you need to install the C++ client first. Please switch to the corresponding version branch of this repo to read the specific instructions.
+To run the examples, skip this section.
+
To use the Pulsar Node.js client in your project, run:
+npm install pulsar-client
+
+or
+yarn add pulsar-client
+
+Then you can run the following simple end-to-end example:
+const Pulsar = require('pulsar-client');
(async () => {
// Create a client
const client = new Pulsar.Client({
serviceUrl: 'pulsar://localhost:6650'
});
// Create a producer
const producer = await client.createProducer({
topic: 'persistent://public/default/my-topic',
});
// Create a consumer
const consumer = await client.subscribe({
topic: 'persistent://public/default/my-topic',
subscription: 'sub1'
});
// Send a message
producer.send({
data: Buffer.from("hello")
});
// Receive the message
const msg = await consumer.receive();
console.log(msg.getData().toString());
consumer.acknowledge(msg);
await producer.close();
await consumer.close();
await client.close();
})();
+
+You should find the output as:
+hello
+
+You can see more examples in the examples directory. However, since these examples might use an API that was not released yet, you need to build this module. See the next section.
+ + +++Note
+Building from source code requires a Node.js version greater than 16.18.
+
First, clone the repository.
+git clone https://github.com/apache/pulsar-client-node.git
cd pulsar-client-node
+
+Since this client is a C++ addon that depends on the Pulsar C++ client, you need to install the C++ client first. You need to ensure there is a C++ compiler that supports C++11 installed in your system.
+pkg/linux/download-cpp-client.sh
+
+pkg\windows\download-cpp-client.bat
+
+pkg/mac/build-cpp-deps-lib.sh
pkg/mac/build-cpp-lib.sh
+
+After the C++ client is installed, run the following command to build this C++ addon.
+npm install
+
+To verify it has been installed successfully, you can run an example like:
+++Note
+A running Pulsar server is required. The example uses
+pulsar://localhost:6650
to connect to the server.
node examples/producer
+
+You should find the output as:
+Sent message: my-message-0
Sent message: my-message-1
Sent message: my-message-2
Sent message: my-message-3
Sent message: my-message-4
Sent message: my-message-5
Sent message: my-message-6
Sent message: my-message-7
Sent message: my-message-8
Sent message: my-message-9
+
+
+
+ For more details about Pulsar Node.js clients, see Pulsar docs.
+ + +Contributions are welcomed and greatly appreciated.
+If your contribution adds Pulsar features for Node.js clients, you need to update both the Pulsar docs and the Client Feature Matrix. See Contribution Guide for more details.
+ + +npm install
npx typedoc
# Documentation generated at ./apidocs
+
+Generated using TypeDoc
Optional
keyOptional
principalOptional
roleOptional
tokenGenerated using TypeDoc
Optional
authenticationOptional
concurrentOptional
ioOptional
logOptional
messageOptional
operationOptional
statsOptional
tlsOptional
tlsOptional
tlsOptional
useGenerated using TypeDoc
Optional
ackOptional
autoOptional
batchOptional
consumerOptional
cryptoOptional
deadOptional
listenerOptional
maxOptional
nOptional
privateOptional
propertiesOptional
readOptional
receiverOptional
receiverOptional
regexOptional
schemaOptional
subscriptionOptional
subscriptionOptional
topicOptional
topicsOptional
topicsGenerated using TypeDoc
Generated using TypeDoc
Optional
accessOptional
batchingOptional
batchingOptional
batchingOptional
blockOptional
chunkingOptional
compressionOptional
cryptoOptional
encryptionOptional
hashingOptional
initialOptional
maxOptional
maxOptional
messageOptional
producerOptional
propertiesOptional
publicOptional
schemaOptional
sendGenerated using TypeDoc
Optional
deliverOptional
deliverOptional
disableOptional
eventOptional
orderingOptional
partitionOptional
propertiesOptional
replicationOptional
sequenceGenerated using TypeDoc
Optional
cryptoOptional
listenerOptional
privateOptional
readOptional
readerOptional
receiverOptional
subscriptionGenerated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Generated using TypeDoc
Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at
+http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License.
+