![](/style/images/good.png)
![](/style/images/bad.png)
GitHub - googleapis/nodejs-pubsub: Node.js client for Google Cloud Pub/Sub: Inge...
source link: https://github.com/googleapis/nodejs-pubsub
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Google Cloud Pub/Sub: Node.js Client
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.
A comprehensive list of changes in each version may be found in the CHANGELOG.
Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained.
Table of contents:
Quickstart
Before you begin
Installing the client library
npm install @google-cloud/pubsub
Using the client library
// 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 subscriptionName = 'my-sub' // Name for the new subscription to create ) { // Instantiates a client const pubsub = new PubSub({projectId}); // Creates a new topic const [topic] = await pubsub.createTopic(topicName); console.log(`Topic ${topic.name} created.`); // Creates a subscription on that new topic const [subscription] = await topic.createSubscription(subscriptionName); // Receive callbacks for new messages on the subscription subscription.on('message', message => { console.log('Received message:', message.data.toString()); process.exit(0); }); // Receive callbacks for errors on the subscription subscription.on('error', error => { console.error('Received error:', error); process.exit(1); }); // Send a message to the topic topic.publish(Buffer.from('Test message!')); }
Running gRPC C++ bindings
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
Samples are in the samples/
directory. Each sample's README.md
has instructions for running its sample.
Sample Source Code Try it Create an Avro based Schema source code
Create a Proto based Schema source code
Create Push Subscription source code
Create Subscription source code
Create Subscription With Dead Letter Policy source code
Create Subscription with ordering enabled source code
Create Topic source code
Create Topic With Schema source code
Delete a previously created schema source code
Delete Subscription source code
Delete Topic source code
Detach Subscription source code
Get a previously created schema source code
Get Subscription source code
Get Subscription Policy source code
Get Topic Policy source code
List All Topics source code
List schemas on a project source code
List Subscriptions source code
List Subscriptions On a Topic source code
Listen For Avro Records source code
Listen For Errors source code
Listen For Messages source code
Listen For Protobuf Messages source code
Listen For Messages With Custom Attributes source code
Modify Push Configuration source code
OpenTelemetry Tracing source code
Publish Avro Records to a Topic source code
Publish Batched Messages source code
Publish Message source code
Publish Message With Custom Attributes source code
Publish Ordered Message source code
Publish Protobuf Messages to a Topic source code
Publish With Retry Settings source code
Quickstart source code
Remove Dead Letter Policy source code
Resume Publish 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 delivery attempt. source code
Synchronous Pull With Lease Management source code
Test Subscription Permissions source code
Test Topic Permissions source code
Update Dead Letter Policy source code
The Google Cloud Pub/Sub Node.js Client API Reference documentation also contains samples.
Supported Node.js Versions
Our client libraries follow the Node.js release schedule. Libraries are compatible with all current active and maintenance versions of Node.js.
Client libraries targeting some end-of-life versions of Node.js are available, and
can be installed via npm dist-tags.
The dist-tags follow the naming convention legacy-(version)
.
Legacy Node.js versions are supported as a best effort:
- Legacy versions will not be tested in continuous integration.
- Some security patches may not be able to be backported.
- Dependencies will not be kept up-to-date, and features will not be backported.
Legacy tags available
legacy-8
: install client libraries from this dist-tag for versions compatible with Node.js 8.
Versioning
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
Contributing
Contributions welcome! See the Contributing Guide.
Please note that this README.md
, the samples/README.md
,
and a variety of configuration files in this repository (including .nycrc
and tsconfig.json
)
are generated from a central template. To edit one of these files, make an edit
to its templates in
directory.
License
Apache Version 2.0
See LICENSE
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK