Cloud Pub/Sub is a fully-managed real-time messaging service that allows you to send and receive messages between independent applications.
This document contains links to an API reference, samples, and other resources useful to developing Node.js applications. For additional help developing Pub/Sub applications, in Node.js and other languages, see our Pub/Sub quickstart, publisher, and subscriber guides.
- Google Cloud Pub/Sub Node.js Client API Reference
- Google Cloud Pub/Sub Documentation
- github.com/googleapis/nodejs-pubsub
Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained.
Table of contents:
- Select or create a Cloud Platform project.
- Enable billing for your project.
- Enable the Google Cloud Pub/Sub API.
- Set up authentication with a service account so you can access the API from your local workstation.
npm install @google-cloud/pubsub
// Imports the Google Cloud client library
const {PubSub} = require('@google-cloud/pubsub');
async function quickstart(
projectId = 'your-project-id', // Your Google Cloud Platform project ID
topicName = 'my-topic' // Name for the new topic to create
) {
// Instantiates a client
const pubsub = new PubSub({projectId});
// Creates the new topic
const [topic] = await pubsub.createTopic(topicName);
console.log(`Topic ${topic.name} created.`);
}
For some workflows and environments it might make sense to use the C++ gRPC implementation, instead of the default one (see: #770):
To configure @google-cloud/pubsub
to use an alternative grpc
transport:
-
npm install grpc
, addinggrpc
as a dependency. -
instantiate
@google-cloud/pubsub
withgrpc
:const {PubSub} = require('@google-cloud/pubsub'); const grpc = require('grpc'); const pubsub = new PubSub({grpc});
Samples are in the samples/
directory. The samples' README.md
has instructions for running the samples.
Sample | Source Code | Try it |
---|---|---|
Create Push Subscription | source code | |
Create Subscription | source code | |
Create Topic | source code | |
Delete Subscription | source code | |
Delete Topic | source code | |
Get Subscription | source code | |
Get Subscription Policy | source code | |
Get Topic Policy | source code | |
List All Topics | source code | |
List Subscriptions | source code | |
List Subscriptions On a Topic | source code | |
Listen For Errors | source code | |
Listen For Messages | source code | |
Listen For Ordered Messages | source code | |
Modify Push Configuration | source code | |
Publish Batched Messages | source code | |
Publish Message | source code | |
Publish Message With Custom Attributes | source code | |
Publish Ordered Message | source code | |
Publish With Retry Settings | source code | |
Quickstart | source code | |
Set Subscription IAM Policy | source code | |
Set Topic IAM Policy | source code | |
Subscribe With Flow Control Settings | source code | |
Synchronous Pull | source code | |
Synchronous Pull With Lease Management | source code | |
Test Subscription Permissions | source code | |
Test Topic Permissions | source code |
The Google Cloud Pub/Sub Node.js Client API Reference documentation also contains samples.
This library follows Semantic Versioning.
This library is considered to be General Availability (GA). This means it is stable; the code surface will not change in backwards-incompatible ways unless absolutely necessary (e.g. because of critical security issues) or with an extensive deprecation period. Issues and requests against GA libraries are addressed with the highest priority.
More Information: Google Cloud Platform Launch Stages
Contributions welcome! See the Contributing Guide.
Apache Version 2.0
See LICENSE