Class Topic (3.1.1)

A Topic object allows you to interact with a Cloud Pub/Sub topic.

Package

@google-cloud/pubsub

Examples


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

Parameters
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.

Parameter
Name Description
gaxOpts CallOptions

Request configuration options, outlined here: https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html.

Returns
Type Description
Promise<CreateTopicResponse>

{Promise

Example

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;
Parameter
Name Description
callback CreateTopicCallback
Returns
Type Description
void

create(gaxOpts, callback)

create(gaxOpts: CallOptions, callback: CreateTopicCallback): void;
Parameters
Name Description
gaxOpts CallOptions
callback CreateTopicCallback
Returns
Type Description
void

createSubscription(name, callback)

createSubscription(name: string, callback: CreateSubscriptionCallback): void;

Create a subscription to this topic.

Parameters
Name Description
name string

The name of the subscription.

callback CreateSubscriptionCallback

Callback function.

Returns
Type Description
void

{Promise

Example

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>;
Parameters
Name Description
name string
options