@google-cloud/pubsub 2.18.1 → 2.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/build/src/iam.d.ts +180 -0
- package/build/src/iam.js +2 -172
- package/build/src/iam.js.map +1 -1
- package/build/src/index.d.ts +12 -4
- package/build/src/index.js +12 -4
- package/build/src/index.js.map +1 -1
- package/build/src/publisher/flow-publisher.d.ts +6 -0
- package/build/src/publisher/flow-publisher.js +6 -0
- package/build/src/publisher/flow-publisher.js.map +1 -1
- package/build/src/publisher/index.d.ts +35 -0
- package/build/src/publisher/index.js +0 -35
- package/build/src/publisher/index.js.map +1 -1
- package/build/src/pubsub.d.ts +354 -4
- package/build/src/pubsub.js +28 -322
- package/build/src/pubsub.js.map +1 -1
- package/build/src/schema.d.ts +9 -4
- package/build/src/schema.js +9 -4
- package/build/src/schema.js.map +1 -1
- package/build/src/snapshot.d.ts +87 -0
- package/build/src/snapshot.js +2 -79
- package/build/src/snapshot.js.map +1 -1
- package/build/src/subscriber.d.ts +6 -0
- package/build/src/subscriber.js +6 -0
- package/build/src/subscriber.js.map +1 -1
- package/build/src/subscription.d.ts +439 -9
- package/build/src/subscription.js +24 -400
- package/build/src/subscription.js.map +1 -1
- package/build/src/topic.d.ts +466 -1
- package/build/src/topic.js +17 -417
- package/build/src/topic.js.map +1 -1
- package/build/src/v1/publisher_client.d.ts +262 -0
- package/build/src/v1/publisher_client.js +6 -244
- package/build/src/v1/publisher_client.js.map +1 -1
- package/build/src/v1/schema_service_client.d.ts +165 -0
- package/build/src/v1/schema_service_client.js +2 -153
- package/build/src/v1/schema_service_client.js.map +1 -1
- package/build/src/v1/subscriber_client.d.ts +566 -0
- package/build/src/v1/subscriber_client.js +6 -534
- package/build/src/v1/subscriber_client.js.map +1 -1
- package/package.json +2 -2
package/build/src/topic.js
CHANGED
|
@@ -30,13 +30,17 @@ const util_1 = require("./util");
|
|
|
30
30
|
* @param {PublishOptions} [options] Publisher configuration object.
|
|
31
31
|
*
|
|
32
32
|
* @example
|
|
33
|
+
* ```
|
|
33
34
|
* const {PubSub} = require('@google-cloud/pubsub');
|
|
34
35
|
* const pubsub = new PubSub();
|
|
35
36
|
*
|
|
36
37
|
* const topic = pubsub.topic('my-topic');
|
|
37
38
|
*
|
|
38
|
-
*
|
|
39
|
+
* ```
|
|
40
|
+
* @example To enable message ordering, set `enableMessageOrdering` to true. Please note that this does not persist to an actual topic.
|
|
41
|
+
* ```
|
|
39
42
|
* const topic = pubsub.topic('ordered-topic', {enableMessageOrdering: true});
|
|
43
|
+
* ```
|
|
40
44
|
*/
|
|
41
45
|
class Topic {
|
|
42
46
|
constructor(pubsub, name, options) {
|
|
@@ -81,6 +85,7 @@ class Topic {
|
|
|
81
85
|
* @see [What is Cloud IAM?]{@link https://cloud.google.com/iam/}
|
|
82
86
|
*
|
|
83
87
|
* @example
|
|
88
|
+
* ```
|
|
84
89
|
* const {PubSub} = require('@google-cloud/pubsub');
|
|
85
90
|
* const pubsub = new PubSub();
|
|
86
91
|
*
|
|
@@ -100,124 +105,25 @@ class Topic {
|
|
|
100
105
|
* const policy = data[0];
|
|
101
106
|
* const apiResponse = data[1];
|
|
102
107
|
* });
|
|
108
|
+
* ```
|
|
103
109
|
*/
|
|
104
110
|
this.iam = new iam_1.IAM(pubsub, this.name);
|
|
105
111
|
}
|
|
106
|
-
/**
|
|
107
|
-
* Immediately sends all remaining queued data. This is mostly useful
|
|
108
|
-
* if you are planning to call close() on the PubSub object that holds
|
|
109
|
-
* the server connections.
|
|
110
|
-
*
|
|
111
|
-
* @param {EmptyCallback} [callback] Callback function.
|
|
112
|
-
* @returns {Promise<EmptyResponse>}
|
|
113
|
-
*/
|
|
114
112
|
flush(callback) {
|
|
115
113
|
// It doesn't matter here if callback is undefined; the Publisher
|
|
116
114
|
// flush() will handle it.
|
|
117
115
|
this.publisher.flush(callback);
|
|
118
116
|
}
|
|
119
|
-
/**
|
|
120
|
-
* Create a topic.
|
|
121
|
-
*
|
|
122
|
-
* @param {object} [gaxOpts] Request configuration options, outlined
|
|
123
|
-
* here: https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html.
|
|
124
|
-
* @param {CreateTopicCallback} [callback] Callback function.
|
|
125
|
-
* @returns {Promise<CreateTopicResponse>}
|
|
126
|
-
*
|
|
127
|
-
* @example
|
|
128
|
-
* const {PubSub} = require('@google-cloud/pubsub');
|
|
129
|
-
* const pubsub = new PubSub();
|
|
130
|
-
*
|
|
131
|
-
* const topic = pubsub.topic('my-topic');
|
|
132
|
-
*
|
|
133
|
-
* topic.create((err, topic, apiResponse) => {
|
|
134
|
-
* if (!err) {
|
|
135
|
-
* // The topic was created successfully.
|
|
136
|
-
* }
|
|
137
|
-
* });
|
|
138
|
-
*
|
|
139
|
-
* //-
|
|
140
|
-
* // If the callback is omitted, we'll return a Promise.
|
|
141
|
-
* //-
|
|
142
|
-
* topic.create().then((data) => {
|
|
143
|
-
* const topic = data[0];
|
|
144
|
-
* const apiResponse = data[1];
|
|
145
|
-
* });
|
|
146
|
-
*/
|
|
147
117
|
create(optsOrCallback, callback) {
|
|
148
118
|
const gaxOpts = typeof optsOrCallback === 'object' ? optsOrCallback : {};
|
|
149
119
|
callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
|
|
150
120
|
this.pubsub.createTopic(this.name, gaxOpts, callback);
|
|
151
121
|
}
|
|
152
|
-
/**
|
|
153
|
-
* Create a subscription to this topic.
|
|
154
|
-
*
|
|
155
|
-
* @see [Subscriptions: create API Documentation]{@link https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions/create}
|
|
156
|
-
*
|
|
157
|
-
* @throws {Error} If subscription name is omitted.
|
|
158
|
-
*
|
|
159
|
-
* @param {string} name The name of the subscription.
|
|
160
|
-
* @param {CreateSubscriptionRequest} [options] See a
|
|
161
|
-
* [Subscription
|
|
162
|
-
* resource](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions).
|
|
163
|
-
* @param {CreateSubscriptionCallback} [callback] Callback function.
|
|
164
|
-
* @returns {Promise<CreateSubscriptionResponse>}
|
|
165
|
-
*
|
|
166
|
-
* @example
|
|
167
|
-
* const {PubSub} = require('@google-cloud/pubsub');
|
|
168
|
-
* const pubsub = new PubSub();
|
|
169
|
-
*
|
|
170
|
-
* const topic = pubsub.topic('my-topic');
|
|
171
|
-
* const callback = function(err, subscription, apiResponse) {};
|
|
172
|
-
*
|
|
173
|
-
* // Without specifying any options.
|
|
174
|
-
* topic.createSubscription('newMessages', callback);
|
|
175
|
-
*
|
|
176
|
-
* // With options.
|
|
177
|
-
* topic.createSubscription('newMessages', {
|
|
178
|
-
* ackDeadlineSeconds: 90
|
|
179
|
-
* }, callback);
|
|
180
|
-
*
|
|
181
|
-
* //-
|
|
182
|
-
* // If the callback is omitted, we'll return a Promise.
|
|
183
|
-
* //-
|
|
184
|
-
* topic.createSubscription('newMessages').then((data) => {
|
|
185
|
-
* const subscription = data[0];
|
|
186
|
-
* const apiResponse = data[1];
|
|
187
|
-
* });
|
|
188
|
-
*/
|
|
189
122
|
createSubscription(name, optsOrCallback, callback) {
|
|
190
123
|
const options = typeof optsOrCallback === 'object' ? optsOrCallback : {};
|
|
191
124
|
callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
|
|
192
125
|
this.pubsub.createSubscription(this, name, options, callback);
|
|
193
126
|
}
|
|
194
|
-
/**
|
|
195
|
-
* Delete the topic. This will not delete subscriptions to this topic.
|
|
196
|
-
*
|
|
197
|
-
* @see [Topics: delete API Documentation]{@link https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics/delete}
|
|
198
|
-
*
|
|
199
|
-
* @param {object} [gaxOpts] Request configuration options, outlined
|
|
200
|
-
* here: https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html.
|
|
201
|
-
* @param {function} [callback] The callback function.
|
|
202
|
-
* @param {?error} callback.err An error returned while making this
|
|
203
|
-
* request.
|
|
204
|
-
* @param {object} callback.apiResponse Raw API response.
|
|
205
|
-
*
|
|
206
|
-
* @example
|
|
207
|
-
* const {PubSub} = require('@google-cloud/pubsub');
|
|
208
|
-
* const pubsub = new PubSub();
|
|
209
|
-
*
|
|
210
|
-
* const topic = pubsub.topic('my-topic');
|
|
211
|
-
*
|
|
212
|
-
* topic.delete((err, apiResponse) => {});
|
|
213
|
-
*
|
|
214
|
-
* //-
|
|
215
|
-
* // If the callback is omitted, we'll return a Promise.
|
|
216
|
-
* //-
|
|
217
|
-
* topic.delete().then((data) => {
|
|
218
|
-
* const apiResponse = data[0];
|
|
219
|
-
* });
|
|
220
|
-
*/
|
|
221
127
|
delete(optsOrCallback, callback) {
|
|
222
128
|
const gaxOpts = typeof optsOrCallback === 'object' ? optsOrCallback : {};
|
|
223
129
|
callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
|
|
@@ -231,36 +137,6 @@ class Topic {
|
|
|
231
137
|
gaxOpts: gaxOpts,
|
|
232
138
|
}, callback);
|
|
233
139
|
}
|
|
234
|
-
/**
|
|
235
|
-
* @typedef {array} TopicExistsResponse
|
|
236
|
-
* @property {boolean} 0 Whether the topic exists
|
|
237
|
-
*/
|
|
238
|
-
/**
|
|
239
|
-
* @callback TopicExistsCallback
|
|
240
|
-
* @param {?Error} err Request error, if any.
|
|
241
|
-
* @param {boolean} exists Whether the topic exists.
|
|
242
|
-
*/
|
|
243
|
-
/**
|
|
244
|
-
* Check if a topic exists.
|
|
245
|
-
*
|
|
246
|
-
* @param {TopicExistsCallback} [callback] Callback function.
|
|
247
|
-
* @returns {Promise<TopicExistsResponse>}
|
|
248
|
-
*
|
|
249
|
-
* @example
|
|
250
|
-
* const {PubSub} = require('@google-cloud/pubsub');
|
|
251
|
-
* const pubsub = new PubSub();
|
|
252
|
-
*
|
|
253
|
-
* const topic = pubsub.topic('my-topic');
|
|
254
|
-
*
|
|
255
|
-
* topic.exists((err, exists) => {});
|
|
256
|
-
*
|
|
257
|
-
* //-
|
|
258
|
-
* // If the callback is omitted, we'll return a Promise.
|
|
259
|
-
* //-
|
|
260
|
-
* topic.exists().then((data) => {
|
|
261
|
-
* const exists = data[0];
|
|
262
|
-
* });
|
|
263
|
-
*/
|
|
264
140
|
exists(callback) {
|
|
265
141
|
this.getMetadata(err => {
|
|
266
142
|
if (!err) {
|
|
@@ -274,45 +150,6 @@ class Topic {
|
|
|
274
150
|
callback(err);
|
|
275
151
|
});
|
|
276
152
|
}
|
|
277
|
-
/**
|
|
278
|
-
* @typedef {array} GetTopicResponse
|
|
279
|
-
* @property {Topic} 0 The {@link Topic}.
|
|
280
|
-
* @property {object} 1 The full API response.
|
|
281
|
-
*/
|
|
282
|
-
/**
|
|
283
|
-
* @callback GetTopicCallback
|
|
284
|
-
* @param {?Error} err Request error, if any.
|
|
285
|
-
* @param {Topic} topic The {@link Topic}.
|
|
286
|
-
* @param {object} apiResponse The full API response.
|
|
287
|
-
*/
|
|
288
|
-
/**
|
|
289
|
-
* Get a topic if it exists.
|
|
290
|
-
*
|
|
291
|
-
* @param {object} [gaxOpts] Request configuration options, outlined
|
|
292
|
-
* here: https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html.
|
|
293
|
-
* @param {boolean} [gaxOpts.autoCreate=false] Automatically create the topic
|
|
294
|
-
* does not already exist.
|
|
295
|
-
* @param {GetTopicCallback} [callback] Callback function.
|
|
296
|
-
* @returns {Promise<GetTopicResponse>}
|
|
297
|
-
*
|
|
298
|
-
* @example
|
|
299
|
-
* const {PubSub} = require('@google-cloud/pubsub');
|
|
300
|
-
* const pubsub = new PubSub();
|
|
301
|
-
*
|
|
302
|
-
* const topic = pubsub.topic('my-topic');
|
|
303
|
-
*
|
|
304
|
-
* topic.get((err, topic, apiResponse) => {
|
|
305
|
-
* // The `topic` data has been populated.
|
|
306
|
-
* });
|
|
307
|
-
*
|
|
308
|
-
* //-
|
|
309
|
-
* // If the callback is omitted, we'll return a Promise.
|
|
310
|
-
* //-
|
|
311
|
-
* topic.get().then((data) => {
|
|
312
|
-
* const topic = data[0];
|
|
313
|
-
* const apiResponse = data[1];
|
|
314
|
-
* });
|
|
315
|
-
*/
|
|
316
153
|
get(optsOrCallback, callback) {
|
|
317
154
|
const gaxOpts = typeof optsOrCallback === 'object' ? optsOrCallback : {};
|
|
318
155
|
callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
|
|
@@ -330,40 +167,6 @@ class Topic {
|
|
|
330
167
|
this.create(gaxOpts, callback);
|
|
331
168
|
});
|
|
332
169
|
}
|
|
333
|
-
/**
|
|
334
|
-
* @typedef {array} GetTopicMetadataResponse
|
|
335
|
-
* @property {object} 0 The full API response.
|
|
336
|
-
*/
|
|
337
|
-
/**
|
|
338
|
-
* @callback GetTopicMetadataCallback
|
|
339
|
-
* @param {?Error} err Request error, if any.
|
|
340
|
-
* @param {object} apiResponse The full API response.
|
|
341
|
-
*/
|
|
342
|
-
/**
|
|
343
|
-
* Get the official representation of this topic from the API.
|
|
344
|
-
*
|
|
345
|
-
* @see [Topics: get API Documentation]{@link https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics/get}
|
|
346
|
-
*
|
|
347
|
-
* @param {object} [gaxOpts] Request configuration options, outlined
|
|
348
|
-
* here: https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html.
|
|
349
|
-
* @param {GetTopicMetadataCallback} [callback] Callback function.
|
|
350
|
-
* @returns {Promise<GetTopicMetadataResponse>}
|
|
351
|
-
*
|
|
352
|
-
* @example
|
|
353
|
-
* const {PubSub} = require('@google-cloud/pubsub');
|
|
354
|
-
* const pubsub = new PubSub();
|
|
355
|
-
*
|
|
356
|
-
* const topic = pubsub.topic('my-topic');
|
|
357
|
-
*
|
|
358
|
-
* topic.getMetadata((err, apiResponse) => {});
|
|
359
|
-
*
|
|
360
|
-
* //-
|
|
361
|
-
* // If the callback is omitted, we'll return a Promise.
|
|
362
|
-
* //-
|
|
363
|
-
* topic.getMetadata().then((data) => {
|
|
364
|
-
* const apiResponse = data[0];
|
|
365
|
-
* });
|
|
366
|
-
*/
|
|
367
170
|
getMetadata(optsOrCallback, callback) {
|
|
368
171
|
const gaxOpts = typeof optsOrCallback === 'object' ? optsOrCallback : {};
|
|
369
172
|
callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
|
|
@@ -382,42 +185,6 @@ class Topic {
|
|
|
382
185
|
callback(err, apiResponse);
|
|
383
186
|
});
|
|
384
187
|
}
|
|
385
|
-
/**
|
|
386
|
-
* Get a list of the subscriptions registered to this topic. You may
|
|
387
|
-
* optionally provide a query object as the first argument to customize the
|
|
388
|
-
* response.
|
|
389
|
-
*
|
|
390
|
-
* Your provided callback will be invoked with an error object if an API error
|
|
391
|
-
* occurred or an array of {module:pubsub/subscription} objects.
|
|
392
|
-
*
|
|
393
|
-
* @see [Subscriptions: list API Documentation]{@link https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics.subscriptions/list}
|
|
394
|
-
*
|
|
395
|
-
* @param {GetSubscriptionsRequest} [query] Query object for listing subscriptions.
|
|
396
|
-
* @param {GetSubscriptionsCallback} [callback] Callback function.
|
|
397
|
-
* @returns {Promise<GetSubscriptionsResponse>}
|
|
398
|
-
*
|
|
399
|
-
* @example
|
|
400
|
-
* const {PubSub} = require('@google-cloud/pubsub');
|
|
401
|
-
* const pubsub = new PubSub();
|
|
402
|
-
*
|
|
403
|
-
* const topic = pubsub.topic('my-topic');
|
|
404
|
-
*
|
|
405
|
-
* topic.getSubscriptions((err, subscriptions) => {
|
|
406
|
-
* // subscriptions is an array of `Subscription` objects.
|
|
407
|
-
* });
|
|
408
|
-
*
|
|
409
|
-
* // Customize the query.
|
|
410
|
-
* topic.getSubscriptions({
|
|
411
|
-
* pageSize: 3
|
|
412
|
-
* }, callback);
|
|
413
|
-
*
|
|
414
|
-
* //-
|
|
415
|
-
* // If the callback is omitted, we'll return a Promise.
|
|
416
|
-
* //-
|
|
417
|
-
* topic.getSubscriptions().then((data) => {
|
|
418
|
-
* const subscriptions = data[0];
|
|
419
|
-
* });
|
|
420
|
-
*/
|
|
421
188
|
getSubscriptions(optsOrCallback, callback) {
|
|
422
189
|
const options = typeof optsOrCallback === 'object' ? optsOrCallback : {};
|
|
423
190
|
callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
|
|
@@ -442,93 +209,11 @@ class Topic {
|
|
|
442
209
|
callback(err, subscriptions, ...args);
|
|
443
210
|
});
|
|
444
211
|
}
|
|
445
|
-
/**
|
|
446
|
-
* Publish the provided message.
|
|
447
|
-
*
|
|
448
|
-
* @deprecated Please use {@link Topic#publishMessage}.
|
|
449
|
-
*
|
|
450
|
-
* @throws {TypeError} If data is not a Buffer object.
|
|
451
|
-
* @throws {TypeError} If any value in `attributes` object is not a string.
|
|
452
|
-
*
|
|
453
|
-
* @param {buffer} data The message data. This must come in the form of a
|
|
454
|
-
* Buffer object.
|
|
455
|
-
* @param {object.<string, string>} [attributes] Attributes for this message.
|
|
456
|
-
* @param {PublishCallback} [callback] Callback function.
|
|
457
|
-
* @returns {Promise<PublishResponse>}
|
|
458
|
-
*
|
|
459
|
-
* @example
|
|
460
|
-
* const {PubSub} = require('@google-cloud/pubsub');
|
|
461
|
-
* const pubsub = new PubSub();
|
|
462
|
-
*
|
|
463
|
-
* const topic = pubsub.topic('my-topic');
|
|
464
|
-
* const data = Buffer.from('Hello, world!');
|
|
465
|
-
*
|
|
466
|
-
* const callback = (err, messageId) => {
|
|
467
|
-
* if (err) {
|
|
468
|
-
* // Error handling omitted.
|
|
469
|
-
* }
|
|
470
|
-
* };
|
|
471
|
-
*
|
|
472
|
-
* topic.publish(data, callback);
|
|
473
|
-
*
|
|
474
|
-
* @example <caption>Optionally you can provide an object containing attributes for the message. Note that all values in the object must be strings.</caption>
|
|
475
|
-
* const attributes = {
|
|
476
|
-
* key: 'value'
|
|
477
|
-
* };
|
|
478
|
-
*
|
|
479
|
-
* topic.publish(data, attributes, callback);
|
|
480
|
-
*
|
|
481
|
-
* @example <caption>If the callback is omitted, we'll return a Promise.</caption>
|
|
482
|
-
* topic.publish(data).then((messageId) => {});
|
|
483
|
-
*/
|
|
484
212
|
publish(data, attrsOrCb, callback) {
|
|
485
213
|
const attributes = typeof attrsOrCb === 'object' ? attrsOrCb : {};
|
|
486
214
|
callback = typeof attrsOrCb === 'function' ? attrsOrCb : callback;
|
|
487
215
|
return this.publishMessage({ data, attributes }, callback);
|
|
488
216
|
}
|
|
489
|
-
/**
|
|
490
|
-
* Publish the provided JSON. It should be noted that all messages published
|
|
491
|
-
* are done so in the form of a Buffer. This is simply a convenience method
|
|
492
|
-
* that will transform JSON into a Buffer before publishing.
|
|
493
|
-
* {@link Subscription} objects will always return message data in the form of
|
|
494
|
-
* a Buffer, so any JSON published will require manual deserialization.
|
|
495
|
-
*
|
|
496
|
-
* @deprecated Please use the `json` option via {@link Topic#publishMessage}.
|
|
497
|
-
*
|
|
498
|
-
* @throws {Error} If non-object data is provided.
|
|
499
|
-
*
|
|
500
|
-
* @param {object} json The JSON data to publish.
|
|
501
|
-
* @param {object} [attributes] Attributes for this message.
|
|
502
|
-
* @param {PublishCallback} [callback] Callback function.
|
|
503
|
-
* @returns {Promise<PublishResponse>}
|
|
504
|
-
*
|
|
505
|
-
* @example
|
|
506
|
-
* const {PubSub} = require('@google-cloud/pubsub');
|
|
507
|
-
* const pubsub = new PubSub();
|
|
508
|
-
* const topic = pubsub.topic('my-topic');
|
|
509
|
-
*
|
|
510
|
-
* const data = {
|
|
511
|
-
* foo: 'bar'
|
|
512
|
-
* };
|
|
513
|
-
*
|
|
514
|
-
* const callback = (err, messageId) => {
|
|
515
|
-
* if (err) {
|
|
516
|
-
* // Error handling omitted.
|
|
517
|
-
* }
|
|
518
|
-
* };
|
|
519
|
-
*
|
|
520
|
-
* topic.publishJSON(data, callback);
|
|
521
|
-
*
|
|
522
|
-
* @example <caption>Optionally you can provide an object containing attributes for the message. Note that all values in the object must be strings.</caption>
|
|
523
|
-
* const attributes = {
|
|
524
|
-
* key: 'value'
|
|
525
|
-
* };
|
|
526
|
-
*
|
|
527
|
-
* topic.publishJSON(data, attributes, callback);
|
|
528
|
-
*
|
|
529
|
-
* @example <caption>If the callback is omitted, we'll return a Promise.</caption>
|
|
530
|
-
* topic.publishJSON(data).then((messageId) => {});
|
|
531
|
-
*/
|
|
532
217
|
publishJSON(json, attrsOrCb, callback) {
|
|
533
218
|
if (!json || typeof json !== 'object') {
|
|
534
219
|
throw new Error('First parameter should be an object.');
|
|
@@ -537,57 +222,6 @@ class Topic {
|
|
|
537
222
|
callback = typeof attrsOrCb === 'function' ? attrsOrCb : callback;
|
|
538
223
|
return this.publishMessage({ json, attributes }, callback);
|
|
539
224
|
}
|
|
540
|
-
/**
|
|
541
|
-
* @typedef {object} MessageOptions
|
|
542
|
-
* @property {buffer} [data] The message data.
|
|
543
|
-
* @property {object} [json] Convenience property to publish JSON data. This
|
|
544
|
-
* will transform the provided JSON into a Buffer before publishing.
|
|
545
|
-
* {@link Subscription} objects will always return message data in the
|
|
546
|
-
* form of a Buffer, so any JSON published will require manual
|
|
547
|
-
* deserialization.
|
|
548
|
-
* @property {object.<string, string>} [attributes] Attributes for this
|
|
549
|
-
* message.
|
|
550
|
-
* @property {string} [orderingKey] A message ordering key.
|
|
551
|
-
*/
|
|
552
|
-
/**
|
|
553
|
-
* Publish the provided message.
|
|
554
|
-
*
|
|
555
|
-
* @throws {TypeError} If data is not a Buffer object.
|
|
556
|
-
* @throws {TypeError} If any value in `attributes` object is not a string.
|
|
557
|
-
*
|
|
558
|
-
* @param {MessageOptions} message Message object.
|
|
559
|
-
* @param {PublishCallback} [callback] Callback function.
|
|
560
|
-
* @returns {Promise<PublishResponse>}
|
|
561
|
-
*
|
|
562
|
-
* @example
|
|
563
|
-
* const {PubSub} = require('@google-cloud/pubsub');
|
|
564
|
-
* const pubsub = new PubSub();
|
|
565
|
-
* const topic = pubsub.topic('my-topic');
|
|
566
|
-
*
|
|
567
|
-
* const data = Buffer.from('Hello, world!');
|
|
568
|
-
*
|
|
569
|
-
* const callback = (err, messageId) => {
|
|
570
|
-
* if (err) {
|
|
571
|
-
* // Error handling omitted.
|
|
572
|
-
* }
|
|
573
|
-
* };
|
|
574
|
-
*
|
|
575
|
-
* topic.publishMessage({data}, callback);
|
|
576
|
-
*
|
|
577
|
-
* @example <caption>Publish JSON message data.</caption>
|
|
578
|
-
* const json = {foo: 'bar'};
|
|
579
|
-
*
|
|
580
|
-
* topic.publishMessage({json}, callback);
|
|
581
|
-
*
|
|
582
|
-
* @example <caption>To publish messages in order (this is still experimental), make sure message ordering is enabled and provide an ordering key</caption>
|
|
583
|
-
* const topic = pubsub.topic('ordered-topic', {messageOrdering: true});
|
|
584
|
-
* const orderingKey = 'my-key';
|
|
585
|
-
*
|
|
586
|
-
* topic.publishMessage({data, orderingKey}, callback);
|
|
587
|
-
*
|
|
588
|
-
* @example <caption>If the callback is omitted, we'll return a Promise.</caption>
|
|
589
|
-
* const [messageId] = await topic.publishMessage({data});
|
|
590
|
-
*/
|
|
591
225
|
publishMessage(message, callback) {
|
|
592
226
|
// Make a copy to ensure that any changes we make to it will not
|
|
593
227
|
// propagate up to the user's data.
|
|
@@ -623,6 +257,7 @@ class Topic {
|
|
|
623
257
|
* @param {string} orderingKey The ordering key in question.
|
|
624
258
|
*
|
|
625
259
|
* @example
|
|
260
|
+
* ```
|
|
626
261
|
* const {PubSub} = require('@google-cloud/pubsub');
|
|
627
262
|
* const pubsub = new PubSub();
|
|
628
263
|
* const topic = pubsub.topic('my-topic', {messageOrdering: true});
|
|
@@ -635,54 +270,11 @@ class Topic {
|
|
|
635
270
|
* topic.resumePublishing(orderingKey);
|
|
636
271
|
* }
|
|
637
272
|
* });
|
|
273
|
+
* ```
|
|
638
274
|
*/
|
|
639
275
|
resumePublishing(orderingKey) {
|
|
640
276
|
this.publisher.resumePublishing(orderingKey);
|
|
641
277
|
}
|
|
642
|
-
/**
|
|
643
|
-
* @typedef {array} SetTopicMetadataResponse
|
|
644
|
-
* @property {object} 0 The full API response.
|
|
645
|
-
*/
|
|
646
|
-
/**
|
|
647
|
-
* @callback SetTopicMetadataCallback
|
|
648
|
-
* @param {?Error} err Request error, if any.
|
|
649
|
-
* @param {object} apiResponse The full API response.
|
|
650
|
-
*/
|
|
651
|
-
/**
|
|
652
|
-
* Updates the topic.
|
|
653
|
-
*
|
|
654
|
-
* @see [UpdateTopicRequest API Documentation]{@link https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#google.pubsub.v1.UpdateTopicRequest}
|
|
655
|
-
*
|
|
656
|
-
* @param {object} metadata The fields to update. This should be structured
|
|
657
|
-
* like a {@link
|
|
658
|
-
* https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic|Topic
|
|
659
|
-
* object}.
|
|
660
|
-
* @param {object} [gaxOpts] Request configuration options, outlined
|
|
661
|
-
* here: https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html.
|
|
662
|
-
* @param {SetTopicMetadataCallback} [callback] Callback function.
|
|
663
|
-
* @returns {Promise<SetTopicMetadataResponse>}
|
|
664
|
-
*
|
|
665
|
-
* @example
|
|
666
|
-
* const {PubSub} = require('@google-cloud/pubsub');
|
|
667
|
-
* const pubsub = new PubSub();
|
|
668
|
-
*
|
|
669
|
-
* const topic = pubsub.topic('my-topic');
|
|
670
|
-
* const metadata = {
|
|
671
|
-
* labels: {foo: 'bar'}
|
|
672
|
-
* };
|
|
673
|
-
*
|
|
674
|
-
* topic.setMetadata(metadata, err => {
|
|
675
|
-
* if (err) {
|
|
676
|
-
* // Error handling omitted.
|
|
677
|
-
* }
|
|
678
|
-
* });
|
|
679
|
-
*
|
|
680
|
-
* @example <caption>If the callback is omitted, we'll return a
|
|
681
|
-
* Promise.</caption>
|
|
682
|
-
* topic.setMetadata(metadata).then((data) => {
|
|
683
|
-
* const apiResponse = data[0];
|
|
684
|
-
* });
|
|
685
|
-
*/
|
|
686
278
|
setMetadata(options, optsOrCallback, callback) {
|
|
687
279
|
const gaxOpts = typeof optsOrCallback === 'object' ? optsOrCallback : {};
|
|
688
280
|
callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
|
|
@@ -702,6 +294,7 @@ class Topic {
|
|
|
702
294
|
* @param {PublishOptions} options The publisher options.
|
|
703
295
|
*
|
|
704
296
|
* @example
|
|
297
|
+
* ```
|
|
705
298
|
* const {PubSub} = require('@google-cloud/pubsub');
|
|
706
299
|
* const pubsub = new PubSub();
|
|
707
300
|
*
|
|
@@ -712,6 +305,7 @@ class Topic {
|
|
|
712
305
|
* maxMilliseconds: 10
|
|
713
306
|
* }
|
|
714
307
|
* });
|
|
308
|
+
* ```
|
|
715
309
|
*/
|
|
716
310
|
setPublishOptions(options) {
|
|
717
311
|
this.publisher.setOptions(options);
|
|
@@ -721,6 +315,7 @@ class Topic {
|
|
|
721
315
|
* back into {@link Topic#setPublishOptions}.
|
|
722
316
|
*
|
|
723
317
|
* @example
|
|
318
|
+
* ```
|
|
724
319
|
* const {PubSub} = require('@google-cloud/pubsub');
|
|
725
320
|
* const pubsub = new PubSub();
|
|
726
321
|
*
|
|
@@ -729,6 +324,7 @@ class Topic {
|
|
|
729
324
|
* const defaults = topic.getPublishOptionDefaults();
|
|
730
325
|
* defaults.batching.maxMilliseconds = 10;
|
|
731
326
|
* topic.setPublishOptions(defaults);
|
|
327
|
+
* ```
|
|
732
328
|
*/
|
|
733
329
|
getPublishOptionDefaults() {
|
|
734
330
|
// Generally I'd leave this as a static, but it'll be easier for users to
|
|
@@ -747,6 +343,7 @@ class Topic {
|
|
|
747
343
|
* @return {Subscription}
|
|
748
344
|
*
|
|
749
345
|
* @example
|
|
346
|
+
* ```
|
|
750
347
|
* const {PubSub} = require('@google-cloud/pubsub');
|
|
751
348
|
* const pubsub = new PubSub();
|
|
752
349
|
*
|
|
@@ -762,6 +359,7 @@ class Topic {
|
|
|
762
359
|
* // message.attributes = Attributes of the message.
|
|
763
360
|
* // message.publishTime = Timestamp when Pub/Sub received the message.
|
|
764
361
|
* });
|
|
362
|
+
* ```
|
|
765
363
|
*/
|
|
766
364
|
subscription(name, options) {
|
|
767
365
|
options = options || {};
|
|
@@ -795,6 +393,7 @@ exports.Topic = Topic;
|
|
|
795
393
|
* @returns {ReadableStream} A readable stream of {@link Subscription} instances.
|
|
796
394
|
*
|
|
797
395
|
* @example
|
|
396
|
+
* ```
|
|
798
397
|
* const {PubSub} = require('@google-cloud/pubsub');
|
|
799
398
|
* const pubsub = new PubSub();
|
|
800
399
|
*
|
|
@@ -817,6 +416,7 @@ exports.Topic = Topic;
|
|
|
817
416
|
* .on('data', function(subscription) {
|
|
818
417
|
* this.end();
|
|
819
418
|
* });
|
|
419
|
+
* ```
|
|
820
420
|
*/
|
|
821
421
|
/*! Developer Documentation
|
|
822
422
|
*
|
package/build/src/topic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topic.js","sourceRoot":"","sources":["../../src/topic.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,uDAAkD;AAKlD,+BAA0B;AAC1B,2CAMqB;AACrB,+DAAmE;AAoBnE,iCAAqC;AAoCrC
|
|
1
|
+
{"version":3,"file":"topic.js","sourceRoot":"","sources":["../../src/topic.ts"],"names":[],"mappings":"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"}
|