A Topic object allows you to interact with a Cloud Pub/Sub topic.
Package
@google-cloud/pubsubExamples
const {PubSub} = require('@google-cloud/pubsub');
const pubsub = new PubSub();
const topic = pubsub.topic('my-topic');
To enable message ordering, set enableMessageOrdering to true. Please note that this does not persist to an actual topic.
const topic = pubsub.topic('ordered-topic', {enableMessageOrdering: true});
Constructors
(constructor)(pubsub, name, options)
constructor(pubsub: PubSub, name: string, options?: PublishOptions);Constructs a new instance of the Topic class
| Name | Description |
| pubsub |
PubSub
|
| name |
string
|
| options |
PublishOptions
|
Properties
getSubscriptionsStream
getSubscriptionsStream: () => ObjectStream<Subscription>;iam
iam: IAM;metadata
metadata?: TopicMetadata;name
name: string;parent
parent: PubSub;publisher
publisher: Publisher;pubsub
pubsub: PubSub;request
request: typeof PubSub.prototype.request;Methods
create(gaxOpts)
create(gaxOpts?: CallOptions): Promise<CreateTopicResponse>;Create a topic.
| Name | Description |
| gaxOpts |
CallOptions
Request configuration options, outlined here: https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html. |
| Type | Description |
| Promise<CreateTopicResponse> | {Promise
|
const {PubSub} = require('@google-cloud/pubsub');
const pubsub = new PubSub();
const topic = pubsub.topic('my-topic');
topic.create((err, topic, apiResponse) => {
if (!err) {
// The topic was created successfully.
}
});
//-
// If the callback is omitted, we'll return a Promise.
//-
topic.create().then((data) => {
const topic = data[0];
const apiResponse = data[1];
});
create(callback)
create(callback: CreateTopicCallback): void;| Name | Description |
| callback |
CreateTopicCallback
|
| Type | Description |
| void |
create(gaxOpts, callback)
create(gaxOpts: CallOptions, callback: CreateTopicCallback): void;| Name | Description |
| gaxOpts |
CallOptions
|
| callback |
CreateTopicCallback
|
| Type | Description |
| void |
createSubscription(name, callback)
createSubscription(name: string, callback: CreateSubscriptionCallback): void;Create a subscription to this topic.
| Name | Description |
| name |
string
The name of the subscription. |
| callback |
CreateSubscriptionCallback
Callback function. |
| Type | Description |
| void | {Promise
|
const {PubSub} = require('@google-cloud/pubsub');
const pubsub = new PubSub();
const topic = pubsub.topic('my-topic');
const callback = function(err, subscription, apiResponse) {};
// Without specifying any options.
topic.createSubscription('newMessages', callback);
// With options.
topic.createSubscription('newMessages', {
ackDeadlineSeconds: 90
}, callback);
//-
// If the callback is omitted, we'll return a Promise.
//-
topic.createSubscription('newMessages').then((data) => {
const subscription = data[0];
const apiResponse = data[1];
});
createSubscription(name, options)
createSubscription(name: string, options?: CreateSubscriptionOptions): Promise<CreateSubscriptionResponse>;| Name | Description |
| name |
string
|
| options |
|