Class PubSub (2.16.6)

[Cloud Pub/Sub](https://developers.google.com/pubsub/overview) is a reliable, many-to-many, asynchronous messaging service from Cloud Platform.

[Cloud Pub/Sub overview]https://developers.google.com/pubsub/overview

Package

@google-cloud/pubsub!

Constructors

(constructor)(options)

constructor(options?: ClientConfig);

Constructs a new instance of the PubSub class

Parameter
NameDescription
options ClientConfig

Properties

api

api: {
        [key: string]: gax.ClientStub;
    };
Property Value
TypeDescription
{ [key: string]: gax.ClientStub; }

auth

auth: GoogleAuth;
Property Value
TypeDescription
GoogleAuth

getSnapshotsStream

getSnapshotsStream: () => ObjectStream<Snapshot>;
Property Value
TypeDescription
() => ObjectStream<Snapshot>

getSubscriptionsStream

getSubscriptionsStream: () => ObjectStream<Subscription>;
Property Value
TypeDescription
() => ObjectStream<Subscription>

getTopicsStream

getTopicsStream: () => ObjectStream<Topic>;
Property Value
TypeDescription
() => ObjectStream<Topic>

isEmulator

isEmulator: boolean;
Property Value
TypeDescription
boolean

isIdResolved

get isIdResolved(): boolean;

Returns true if we have actually resolved the full project name.

Property Value
TypeDescription
boolean

isOpen

isOpen: boolean;
Property Value
TypeDescription
boolean

name

name?: string;
Property Value
TypeDescription
string

options

options: ClientConfig;
Property Value
TypeDescription
ClientConfig

projectId

projectId: string;
Property Value
TypeDescription
string

Promise

Promise?: PromiseConstructor;
Property Value
TypeDescription
PromiseConstructor

Methods

close()

close(): Promise<void>;
Returns
TypeDescription
Promise<void>

close(callback)

close(callback: EmptyCallback): void;
Parameter
NameDescription
callback EmptyCallback
Returns
TypeDescription
void

closeAllClients_()

closeAllClients_(): Promise<void>;

Close all open client objects.

Returns
TypeDescription
Promise<void>

{Promise}

createSchema(schemaId, type, definition, gaxOpts)

createSchema(schemaId: string, type: SchemaType, definition: string, gaxOpts?: CallOptions): Promise<Schema>;

Create a schema in the project.

[Schemas: create API Documentation]https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.schemas/create

Parameters
NameDescription
schemaId string

The name or ID of the subscription.

type SchemaType

The type of the schema (Protobuf, Avro, etc).

definition string

The text describing the schema in terms of the type.

gaxOpts CallOptions
Returns
TypeDescription
Promise<Schema>

{Promise

createSubscription(topic, name, options)

createSubscription(topic: Topic | string, name: string, options?: CreateSubscriptionOptions): Promise<CreateSubscriptionResponse>;
Parameters
NameDescription
topic Topic | string
name string
options CreateSubscriptionOptions
Returns
TypeDescription
Promise<CreateSubscriptionResponse>

createSubscription(topic, name, callback)

createSubscription(topic: Topic | string, name: string, callback: CreateSubscriptionCallback): void;
Parameters
NameDescription
topic Topic | string
name string
callback CreateSubscriptionCallback
Returns
TypeDescription
void

createSubscription(topic, name, options, callback)

createSubscription(topic: Topic | string, name: string, options: CreateSubscriptionOptions, callback: CreateSubscriptionCallback): void;
Parameters
NameDescription
topic Topic | string
name string
options CreateSubscriptionOptions
callback CreateSubscriptionCallback
Returns
TypeDescription
void

createTopic(name, gaxOpts)

createTopic(name: string | TopicMetadata, gaxOpts?: CallOptions): Promise<CreateTopicResponse>;
Parameters
NameDescription
name string | TopicMetadata
gaxOpts CallOptions
Returns
TypeDescription
Promise<CreateTopicResponse>

createTopic(name, callback)

createTopic(name: string | TopicMetadata, callback: CreateTopicCallback): void;
Parameters
NameDescription
name string | TopicMetadata
callback CreateTopicCallback
Returns
TypeDescription
void

createTopic(name, gaxOpts, callback)

createTopic(name: string | TopicMetadata, gaxOpts: CallOptions, callback: CreateTopicCallback): void;
Parameters
NameDescription
name string | TopicMetadata
gaxOpts CallOptions
callback CreateTopicCallback
Returns
TypeDescription
void

detachSubscription(name, gaxOpts)

detachSubscription(name: string, gaxOpts?: CallOptions): Promise<DetachSubscriptionResponse>;
Parameters
NameDescription
name string
gaxOpts CallOptions
Returns
TypeDescription
Promise<DetachSubscriptionResponse>

detachSubscription(name, callback)

detachSubscription(name: string, callback: DetachSubscriptionCallback): void;
Parameters
NameDescription
name string
callback DetachSubscriptionCallback
Returns
TypeDescription
void

detachSubscription(name, gaxOpts, callback)

detachSubscription(name: string, gaxOpts: CallOptions, callback: DetachSubscriptionCallback): void;
Parameters
NameDescription
name string
gaxOpts CallOptions
callback DetachSubscriptionCallback
Returns
TypeDescription
void

determineBaseUrl_()

determineBaseUrl_(): void;

Determine the appropriate endpoint to use for API requests, first trying the apiEndpoint parameter. If that isn't set, we try the Pub/Sub emulator environment variable (PUBSUB_EMULATOR_HOST). If that is also null, we try the standard gcloud alpha pubsub environment variable (CLOUDSDK_API_ENDPOINT_OVERRIDES_PUBSUB). Otherwise the default production API is used.

Note that if the URL doesn't end in '.googleapis.com', we will assume that it's an emulator and disable strict SSL checks.

Returns
TypeDescription
void

formatName_(name)

static formatName_(name: string): string;
Parameter
NameDescription
name string
Returns
TypeDescription
string

getClient_(config, callback)

getClient_(config: GetClientConfig, callback: GetClientCallback): void;

Get the PubSub client object.

Parameters
NameDescription
config GetClientConfig

Configuration object.

callback GetClientCallback

The callback function.

Returns
TypeDescription
void

getClientAsync_(config)

getClientAsync_(config: GetClientConfig): Promise<gax.ClientStub>;

Get the PubSub client object.

Parameter
NameDescription
config GetClientConfig

Configuration object.

Returns
TypeDescription
Promise<gax.ClientStub>

{Promise}

getClientConfig()

getClientConfig(): Promise<ClientConfig>;

Retrieve a client configuration, suitable for passing into a GAPIC 'v1' class constructor. This will fill out projectId, emulator URLs, and so forth.

Returns
TypeDescription
Promise<ClientConfig>

{Promise

getSchemaClient_()

getSchemaClient_(): Promise<SchemaServiceClient>;

Gets a schema client, creating one if needed.

Returns
TypeDescription
Promise<SchemaServiceClient>

getSnapshots(options)

getSnapshots(options?: PageOptions): Promise<GetSnapshotsResponse>;
Parameter
NameDescription
options PageOptions
Returns
TypeDescription
Promise<GetSnapshotsResponse>

getSnapshots(callback)

getSnapshots(callback: GetSnapshotsCallback): void;
Parameter
NameDescription
callback GetSnapshotsCallback
Returns
TypeDescription
void

getSnapshots(options, callback)

getSnapshots(options: PageOptions, callback: GetSnapshotsCallback): void;
Parameters
NameDescription
options PageOptions
callback GetSnapshotsCallback
Returns
TypeDescription
void

getSubscriptions(options)

getSubscriptions(options?: GetSubscriptionsOptions): Promise<GetSubscriptionsResponse>;
Parameter
NameDescription
options GetSubscriptionsOptions
Returns
TypeDescription
Promise<GetSubscriptionsResponse>

getSubscriptions(callback)

getSubscriptions(callback: GetSubscriptionsCallback): void;
Parameter
NameDescription
callback GetSubscriptionsCallback
Returns
TypeDescription
void

getSubscriptions(options, callback)

getSubscriptions(options: GetSubscriptionsOptions, callback: GetSubscriptionsCallback): void;
Parameters
NameDescription
options GetSubscriptionsOptions
callback GetSubscriptionsCallback
Returns
TypeDescription
void

getTopics(options)

getTopics(options?: PageOptions): Promise<GetTopicsResponse>;
Parameter
NameDescription
options PageOptions
Returns
TypeDescription
Promise<GetTopicsResponse>

getTopics(callback)

getTopics(callback: GetTopicsCallback): void;
Parameter
NameDescription
callback GetTopicsCallback
Returns
TypeDescription
void

getTopics(options, callback)

getTopics(options: PageOptions, callback: GetTopicsCallback): void;
Parameters
NameDescription
options PageOptions
callback GetTopicsCallback
Returns
TypeDescription
void

listSchemas(view, options)

listSchemas(view?: SchemaView, options?: CallOptions): AsyncIterable<google.pubsub.v1.ISchema>;

Get a list of schemas associated with your project.

The returned AsyncIterable will resolve to objects.

This method returns an async iterable. These objects can be adapted to work in a Promise/then framework, as well as with callbacks, but this discussion is considered out of scope for these docs.

[Schemas: list API Documentation]https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.schemas/list [More about async iterators]https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of

Parameters
NameDescription
view SchemaView

The type of schema objects requested, which should be an enum value from SchemaViews. Defaults to Full.

options CallOptions

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

Returns
TypeDescription
AsyncIterable<google.pubsub.v1.ISchema>

{AsyncIterable

request(config, callback)

request<T, R = void>(config: RequestConfig, callback: RequestCallback<T, R>): void;

Funnel all API requests through this method, to be sure we have a project ID.

Parameters
NameDescription
config RequestConfig

Configuration object.

callback RequestCallback<T, R>

The callback function.

Returns
TypeDescription
void
Type Parameters
NameDescription
T
R

schema(idOrName)

schema(idOrName: string): Schema;

Create a Schema object, representing a schema within the project. See or to create a schema.

Parameter
NameDescription
idOrName string
Returns
TypeDescription
Schema

{Schema} A Schema instance.

snapshot(name)

snapshot(name: string): Snapshot;

Create a Snapshot object. See to create a snapshot.

Parameter
NameDescription
name string

The name of the snapshot.

Returns
TypeDescription
Snapshot

{Snapshot} A Snapshot instance.

subscription(name, options)

subscription(name: string, options?: SubscriptionOptions): Subscription;

Create a Subscription object. This command by itself will not run any API requests. You will receive a Subscription object, which will allow you to interact with a subscription.

Parameters
NameDescription
name string

Name of the subscription.

options SubscriptionOptions

Configuration object.

Returns
TypeDescription
Subscription

{Subscription} A Subscription instance.

topic(name, options)

topic(name: string, options?: PublishOptions): Topic;

Create a Topic object. See to create a topic.

Parameters
NameDescription
name string

The name of the topic.

options PublishOptions

Publisher configuration object.

Returns
TypeDescription
Topic

{Topic} A Topic instance.

validateSchema(schema, gaxOpts)

validateSchema(schema: ISchema, gaxOpts?: CallOptions): Promise<void>;

Validate a schema definition.

[Schemas: validateSchema API Documentation]https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.schemas/validate

Parameters
NameDescription
schema ISchema

The schema definition you wish to validate.

gaxOpts CallOptions
Returns
TypeDescription
Promise<void>

{Promise