google-cloud-pubsub 0.21.0 → 0.22.0
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.
- checksums.yaml +4 -4
- data/.yardopts +8 -0
- data/LICENSE +201 -0
- data/README.md +69 -0
- data/lib/google/cloud/pubsub/service.rb +2 -2
- data/lib/google/cloud/pubsub/topic.rb +1 -10
- data/lib/google/cloud/pubsub/v1.rb +2 -2
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/timestamp.rb +83 -0
- data/lib/google/cloud/pubsub/v1/doc/google/pubsub/v1/pubsub.rb +411 -0
- data/lib/google/cloud/pubsub/v1/{publisher_api.rb → publisher_client.rb} +79 -70
- data/lib/google/cloud/pubsub/v1/{subscriber_api.rb → subscriber_client.rb} +173 -99
- data/lib/google/cloud/pubsub/v1/subscriber_client_config.json +5 -0
- data/lib/google/cloud/pubsub/version.rb +1 -1
- data/lib/google/pubsub/v1/pubsub_pb.rb +12 -0
- data/lib/google/pubsub/v1/pubsub_services_pb.rb +20 -4
- metadata +14 -9
@@ -40,7 +40,7 @@ module Google
|
|
40
40
|
# @return [Google::Iam::V1::IAMPolicy::Stub]
|
41
41
|
# @!attribute [r] publisher_stub
|
42
42
|
# @return [Google::Pubsub::V1::Publisher::Stub]
|
43
|
-
class
|
43
|
+
class PublisherClient
|
44
44
|
attr_reader :iam_policy_stub, :publisher_stub
|
45
45
|
|
46
46
|
# The default address of the service.
|
@@ -173,6 +173,7 @@ module Google
|
|
173
173
|
require "google/iam/v1/iam_policy_services_pb"
|
174
174
|
require "google/pubsub/v1/pubsub_services_pb"
|
175
175
|
|
176
|
+
|
176
177
|
google_api_client = "#{app_name}/#{app_version} " \
|
177
178
|
"#{CODE_GEN_NAME_VERSION} gax/#{Google::Gax::VERSION} " \
|
178
179
|
"ruby/#{RUBY_VERSION}".freeze
|
@@ -265,20 +266,20 @@ module Google
|
|
265
266
|
# @return [Google::Pubsub::V1::Topic]
|
266
267
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
267
268
|
# @example
|
268
|
-
# require "google/cloud/pubsub/v1/
|
269
|
+
# require "google/cloud/pubsub/v1/publisher_client"
|
269
270
|
#
|
270
|
-
#
|
271
|
+
# PublisherClient = Google::Cloud::Pubsub::V1::PublisherClient
|
271
272
|
#
|
272
|
-
#
|
273
|
-
# formatted_name =
|
274
|
-
# response =
|
273
|
+
# publisher_client = PublisherClient.new
|
274
|
+
# formatted_name = PublisherClient.topic_path("[PROJECT]", "[TOPIC]")
|
275
|
+
# response = publisher_client.create_topic(formatted_name)
|
275
276
|
|
276
277
|
def create_topic \
|
277
278
|
name,
|
278
279
|
options: nil
|
279
|
-
req = Google::Pubsub::V1::Topic.new(
|
280
|
+
req = Google::Pubsub::V1::Topic.new({
|
280
281
|
name: name
|
281
|
-
)
|
282
|
+
}.delete_if { |_, v| v.nil? })
|
282
283
|
@create_topic.call(req, options)
|
283
284
|
end
|
284
285
|
|
@@ -288,6 +289,7 @@ module Google
|
|
288
289
|
#
|
289
290
|
# @param topic [String]
|
290
291
|
# The messages in the request will be published on this topic.
|
292
|
+
# Format is +projects/{project}/topics/{topic}+.
|
291
293
|
# @param messages [Array<Google::Pubsub::V1::PubsubMessage>]
|
292
294
|
# The messages to publish.
|
293
295
|
# @param options [Google::Gax::CallOptions]
|
@@ -296,27 +298,27 @@ module Google
|
|
296
298
|
# @return [Google::Pubsub::V1::PublishResponse]
|
297
299
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
298
300
|
# @example
|
299
|
-
# require "google/cloud/pubsub/v1/
|
301
|
+
# require "google/cloud/pubsub/v1/publisher_client"
|
300
302
|
#
|
301
|
-
#
|
303
|
+
# PublisherClient = Google::Cloud::Pubsub::V1::PublisherClient
|
302
304
|
# PubsubMessage = Google::Pubsub::V1::PubsubMessage
|
303
305
|
#
|
304
|
-
#
|
305
|
-
# formatted_topic =
|
306
|
+
# publisher_client = PublisherClient.new
|
307
|
+
# formatted_topic = PublisherClient.topic_path("[PROJECT]", "[TOPIC]")
|
306
308
|
# data = ''
|
307
309
|
# messages_element = PubsubMessage.new
|
308
310
|
# messages_element.data = data
|
309
311
|
# messages = [messages_element]
|
310
|
-
# response =
|
312
|
+
# response = publisher_client.publish(formatted_topic, messages)
|
311
313
|
|
312
314
|
def publish \
|
313
315
|
topic,
|
314
316
|
messages,
|
315
317
|
options: nil
|
316
|
-
req = Google::Pubsub::V1::PublishRequest.new(
|
318
|
+
req = Google::Pubsub::V1::PublishRequest.new({
|
317
319
|
topic: topic,
|
318
320
|
messages: messages
|
319
|
-
)
|
321
|
+
}.delete_if { |_, v| v.nil? })
|
320
322
|
@publish.call(req, options)
|
321
323
|
end
|
322
324
|
|
@@ -324,26 +326,27 @@ module Google
|
|
324
326
|
#
|
325
327
|
# @param topic [String]
|
326
328
|
# The name of the topic to get.
|
329
|
+
# Format is +projects/{project}/topics/{topic}+.
|
327
330
|
# @param options [Google::Gax::CallOptions]
|
328
331
|
# Overrides the default settings for this call, e.g, timeout,
|
329
332
|
# retries, etc.
|
330
333
|
# @return [Google::Pubsub::V1::Topic]
|
331
334
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
332
335
|
# @example
|
333
|
-
# require "google/cloud/pubsub/v1/
|
336
|
+
# require "google/cloud/pubsub/v1/publisher_client"
|
334
337
|
#
|
335
|
-
#
|
338
|
+
# PublisherClient = Google::Cloud::Pubsub::V1::PublisherClient
|
336
339
|
#
|
337
|
-
#
|
338
|
-
# formatted_topic =
|
339
|
-
# response =
|
340
|
+
# publisher_client = PublisherClient.new
|
341
|
+
# formatted_topic = PublisherClient.topic_path("[PROJECT]", "[TOPIC]")
|
342
|
+
# response = publisher_client.get_topic(formatted_topic)
|
340
343
|
|
341
344
|
def get_topic \
|
342
345
|
topic,
|
343
346
|
options: nil
|
344
|
-
req = Google::Pubsub::V1::GetTopicRequest.new(
|
347
|
+
req = Google::Pubsub::V1::GetTopicRequest.new({
|
345
348
|
topic: topic
|
346
|
-
)
|
349
|
+
}.delete_if { |_, v| v.nil? })
|
347
350
|
@get_topic.call(req, options)
|
348
351
|
end
|
349
352
|
|
@@ -351,6 +354,7 @@ module Google
|
|
351
354
|
#
|
352
355
|
# @param project [String]
|
353
356
|
# The name of the cloud project that topics belong to.
|
357
|
+
# Format is +projects/{project}+.
|
354
358
|
# @param page_size [Integer]
|
355
359
|
# The maximum number of resources contained in the underlying API
|
356
360
|
# response. If page streaming is performed per-resource, this
|
@@ -367,20 +371,20 @@ module Google
|
|
367
371
|
# object.
|
368
372
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
369
373
|
# @example
|
370
|
-
# require "google/cloud/pubsub/v1/
|
374
|
+
# require "google/cloud/pubsub/v1/publisher_client"
|
371
375
|
#
|
372
|
-
#
|
376
|
+
# PublisherClient = Google::Cloud::Pubsub::V1::PublisherClient
|
373
377
|
#
|
374
|
-
#
|
375
|
-
# formatted_project =
|
378
|
+
# publisher_client = PublisherClient.new
|
379
|
+
# formatted_project = PublisherClient.project_path("[PROJECT]")
|
376
380
|
#
|
377
381
|
# # Iterate over all results.
|
378
|
-
#
|
382
|
+
# publisher_client.list_topics(formatted_project).each do |element|
|
379
383
|
# # Process element.
|
380
384
|
# end
|
381
385
|
#
|
382
386
|
# # Or iterate over results one page at a time.
|
383
|
-
#
|
387
|
+
# publisher_client.list_topics(formatted_project).each_page do |page|
|
384
388
|
# # Process each page at a time.
|
385
389
|
# page.each do |element|
|
386
390
|
# # Process element.
|
@@ -391,10 +395,10 @@ module Google
|
|
391
395
|
project,
|
392
396
|
page_size: nil,
|
393
397
|
options: nil
|
394
|
-
req = Google::Pubsub::V1::ListTopicsRequest.new(
|
395
|
-
project: project
|
396
|
-
|
397
|
-
|
398
|
+
req = Google::Pubsub::V1::ListTopicsRequest.new({
|
399
|
+
project: project,
|
400
|
+
page_size: page_size
|
401
|
+
}.delete_if { |_, v| v.nil? })
|
398
402
|
@list_topics.call(req, options)
|
399
403
|
end
|
400
404
|
|
@@ -402,6 +406,7 @@ module Google
|
|
402
406
|
#
|
403
407
|
# @param topic [String]
|
404
408
|
# The name of the topic that subscriptions are attached to.
|
409
|
+
# Format is +projects/{project}/topics/{topic}+.
|
405
410
|
# @param page_size [Integer]
|
406
411
|
# The maximum number of resources contained in the underlying API
|
407
412
|
# response. If page streaming is performed per-resource, this
|
@@ -418,20 +423,20 @@ module Google
|
|
418
423
|
# object.
|
419
424
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
420
425
|
# @example
|
421
|
-
# require "google/cloud/pubsub/v1/
|
426
|
+
# require "google/cloud/pubsub/v1/publisher_client"
|
422
427
|
#
|
423
|
-
#
|
428
|
+
# PublisherClient = Google::Cloud::Pubsub::V1::PublisherClient
|
424
429
|
#
|
425
|
-
#
|
426
|
-
# formatted_topic =
|
430
|
+
# publisher_client = PublisherClient.new
|
431
|
+
# formatted_topic = PublisherClient.topic_path("[PROJECT]", "[TOPIC]")
|
427
432
|
#
|
428
433
|
# # Iterate over all results.
|
429
|
-
#
|
434
|
+
# publisher_client.list_topic_subscriptions(formatted_topic).each do |element|
|
430
435
|
# # Process element.
|
431
436
|
# end
|
432
437
|
#
|
433
438
|
# # Or iterate over results one page at a time.
|
434
|
-
#
|
439
|
+
# publisher_client.list_topic_subscriptions(formatted_topic).each_page do |page|
|
435
440
|
# # Process each page at a time.
|
436
441
|
# page.each do |element|
|
437
442
|
# # Process element.
|
@@ -442,10 +447,10 @@ module Google
|
|
442
447
|
topic,
|
443
448
|
page_size: nil,
|
444
449
|
options: nil
|
445
|
-
req = Google::Pubsub::V1::ListTopicSubscriptionsRequest.new(
|
446
|
-
topic: topic
|
447
|
-
|
448
|
-
|
450
|
+
req = Google::Pubsub::V1::ListTopicSubscriptionsRequest.new({
|
451
|
+
topic: topic,
|
452
|
+
page_size: page_size
|
453
|
+
}.delete_if { |_, v| v.nil? })
|
449
454
|
@list_topic_subscriptions.call(req, options)
|
450
455
|
end
|
451
456
|
|
@@ -457,26 +462,28 @@ module Google
|
|
457
462
|
#
|
458
463
|
# @param topic [String]
|
459
464
|
# Name of the topic to delete.
|
465
|
+
# Format is +projects/{project}/topics/{topic}+.
|
460
466
|
# @param options [Google::Gax::CallOptions]
|
461
467
|
# Overrides the default settings for this call, e.g, timeout,
|
462
468
|
# retries, etc.
|
463
469
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
464
470
|
# @example
|
465
|
-
# require "google/cloud/pubsub/v1/
|
471
|
+
# require "google/cloud/pubsub/v1/publisher_client"
|
466
472
|
#
|
467
|
-
#
|
473
|
+
# PublisherClient = Google::Cloud::Pubsub::V1::PublisherClient
|
468
474
|
#
|
469
|
-
#
|
470
|
-
# formatted_topic =
|
471
|
-
#
|
475
|
+
# publisher_client = PublisherClient.new
|
476
|
+
# formatted_topic = PublisherClient.topic_path("[PROJECT]", "[TOPIC]")
|
477
|
+
# publisher_client.delete_topic(formatted_topic)
|
472
478
|
|
473
479
|
def delete_topic \
|
474
480
|
topic,
|
475
481
|
options: nil
|
476
|
-
req = Google::Pubsub::V1::DeleteTopicRequest.new(
|
482
|
+
req = Google::Pubsub::V1::DeleteTopicRequest.new({
|
477
483
|
topic: topic
|
478
|
-
)
|
484
|
+
}.delete_if { |_, v| v.nil? })
|
479
485
|
@delete_topic.call(req, options)
|
486
|
+
nil
|
480
487
|
end
|
481
488
|
|
482
489
|
# Sets the access control policy on the specified resource. Replaces any
|
@@ -497,24 +504,24 @@ module Google
|
|
497
504
|
# @return [Google::Iam::V1::Policy]
|
498
505
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
499
506
|
# @example
|
500
|
-
# require "google/cloud/pubsub/v1/
|
507
|
+
# require "google/cloud/pubsub/v1/publisher_client"
|
501
508
|
#
|
502
509
|
# Policy = Google::Iam::V1::Policy
|
503
|
-
#
|
510
|
+
# PublisherClient = Google::Cloud::Pubsub::V1::PublisherClient
|
504
511
|
#
|
505
|
-
#
|
506
|
-
# formatted_resource =
|
512
|
+
# publisher_client = PublisherClient.new
|
513
|
+
# formatted_resource = PublisherClient.topic_path("[PROJECT]", "[TOPIC]")
|
507
514
|
# policy = Policy.new
|
508
|
-
# response =
|
515
|
+
# response = publisher_client.set_iam_policy(formatted_resource, policy)
|
509
516
|
|
510
517
|
def set_iam_policy \
|
511
518
|
resource,
|
512
519
|
policy,
|
513
520
|
options: nil
|
514
|
-
req = Google::Iam::V1::SetIamPolicyRequest.new(
|
521
|
+
req = Google::Iam::V1::SetIamPolicyRequest.new({
|
515
522
|
resource: resource,
|
516
523
|
policy: policy
|
517
|
-
)
|
524
|
+
}.delete_if { |_, v| v.nil? })
|
518
525
|
@set_iam_policy.call(req, options)
|
519
526
|
end
|
520
527
|
|
@@ -532,24 +539,26 @@ module Google
|
|
532
539
|
# @return [Google::Iam::V1::Policy]
|
533
540
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
534
541
|
# @example
|
535
|
-
# require "google/cloud/pubsub/v1/
|
542
|
+
# require "google/cloud/pubsub/v1/publisher_client"
|
536
543
|
#
|
537
|
-
#
|
544
|
+
# PublisherClient = Google::Cloud::Pubsub::V1::PublisherClient
|
538
545
|
#
|
539
|
-
#
|
540
|
-
# formatted_resource =
|
541
|
-
# response =
|
546
|
+
# publisher_client = PublisherClient.new
|
547
|
+
# formatted_resource = PublisherClient.topic_path("[PROJECT]", "[TOPIC]")
|
548
|
+
# response = publisher_client.get_iam_policy(formatted_resource)
|
542
549
|
|
543
550
|
def get_iam_policy \
|
544
551
|
resource,
|
545
552
|
options: nil
|
546
|
-
req = Google::Iam::V1::GetIamPolicyRequest.new(
|
553
|
+
req = Google::Iam::V1::GetIamPolicyRequest.new({
|
547
554
|
resource: resource
|
548
|
-
)
|
555
|
+
}.delete_if { |_, v| v.nil? })
|
549
556
|
@get_iam_policy.call(req, options)
|
550
557
|
end
|
551
558
|
|
552
559
|
# Returns permissions that a caller has on the specified resource.
|
560
|
+
# If the resource does not exist, this will return an empty set of
|
561
|
+
# permissions, not a NOT_FOUND error.
|
553
562
|
#
|
554
563
|
# @param resource [String]
|
555
564
|
# REQUIRED: The resource for which the policy detail is being requested.
|
@@ -566,23 +575,23 @@ module Google
|
|
566
575
|
# @return [Google::Iam::V1::TestIamPermissionsResponse]
|
567
576
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
568
577
|
# @example
|
569
|
-
# require "google/cloud/pubsub/v1/
|
578
|
+
# require "google/cloud/pubsub/v1/publisher_client"
|
570
579
|
#
|
571
|
-
#
|
580
|
+
# PublisherClient = Google::Cloud::Pubsub::V1::PublisherClient
|
572
581
|
#
|
573
|
-
#
|
574
|
-
# formatted_resource =
|
582
|
+
# publisher_client = PublisherClient.new
|
583
|
+
# formatted_resource = PublisherClient.topic_path("[PROJECT]", "[TOPIC]")
|
575
584
|
# permissions = []
|
576
|
-
# response =
|
585
|
+
# response = publisher_client.test_iam_permissions(formatted_resource, permissions)
|
577
586
|
|
578
587
|
def test_iam_permissions \
|
579
588
|
resource,
|
580
589
|
permissions,
|
581
590
|
options: nil
|
582
|
-
req = Google::Iam::V1::TestIamPermissionsRequest.new(
|
591
|
+
req = Google::Iam::V1::TestIamPermissionsRequest.new({
|
583
592
|
resource: resource,
|
584
593
|
permissions: permissions
|
585
|
-
)
|
594
|
+
}.delete_if { |_, v| v.nil? })
|
586
595
|
@test_iam_permissions.call(req, options)
|
587
596
|
end
|
588
597
|
end
|
@@ -40,7 +40,7 @@ module Google
|
|
40
40
|
# @return [Google::Iam::V1::IAMPolicy::Stub]
|
41
41
|
# @!attribute [r] subscriber_stub
|
42
42
|
# @return [Google::Pubsub::V1::Subscriber::Stub]
|
43
|
-
class
|
43
|
+
class SubscriberClient
|
44
44
|
attr_reader :iam_policy_stub, :subscriber_stub
|
45
45
|
|
46
46
|
# The default address of the service.
|
@@ -189,6 +189,7 @@ module Google
|
|
189
189
|
require "google/iam/v1/iam_policy_services_pb"
|
190
190
|
require "google/pubsub/v1/pubsub_services_pb"
|
191
191
|
|
192
|
+
|
192
193
|
google_api_client = "#{app_name}/#{app_version} " \
|
193
194
|
"#{CODE_GEN_NAME_VERSION} gax/#{Google::Gax::VERSION} " \
|
194
195
|
"ruby/#{RUBY_VERSION}".freeze
|
@@ -265,6 +266,10 @@ module Google
|
|
265
266
|
@subscriber_stub.method(:pull),
|
266
267
|
defaults["pull"]
|
267
268
|
)
|
269
|
+
@streaming_pull = Google::Gax.create_api_call(
|
270
|
+
@subscriber_stub.method(:streaming_pull),
|
271
|
+
defaults["streaming_pull"]
|
272
|
+
)
|
268
273
|
@modify_push_config = Google::Gax.create_api_call(
|
269
274
|
@subscriber_stub.method(:modify_push_config),
|
270
275
|
defaults["modify_push_config"]
|
@@ -278,8 +283,11 @@ module Google
|
|
278
283
|
# If the corresponding topic doesn't exist, returns +NOT_FOUND+.
|
279
284
|
#
|
280
285
|
# If the name is not provided in the request, the server will assign a random
|
281
|
-
# name for this subscription on the same project as the topic
|
282
|
-
#
|
286
|
+
# name for this subscription on the same project as the topic, conforming
|
287
|
+
# to the
|
288
|
+
# {resource name format}[https://cloud.google.com/pubsub/docs/overview#names].
|
289
|
+
# The generated name is populated in the returned Subscription object.
|
290
|
+
# Note that for REST API requests, you must specify a name in the request.
|
283
291
|
#
|
284
292
|
# @param name [String]
|
285
293
|
# The name of the subscription. It must have the format
|
@@ -290,6 +298,7 @@ module Google
|
|
290
298
|
# in length, and it must not start with +"goog"+.
|
291
299
|
# @param topic [String]
|
292
300
|
# The name of the topic from which this subscription is receiving messages.
|
301
|
+
# Format is +projects/{project}/topics/{topic}+.
|
293
302
|
# The value of this field will be +_deleted-topic_+ if the topic has been
|
294
303
|
# deleted.
|
295
304
|
# @param push_config [Google::Pubsub::V1::PushConfig]
|
@@ -307,29 +316,29 @@ module Google
|
|
307
316
|
# deadline. To override this value for a given message, call
|
308
317
|
# +ModifyAckDeadline+ with the corresponding +ack_id+ if using
|
309
318
|
# pull.
|
319
|
+
# The minimum custom deadline you can specify is 10 seconds.
|
310
320
|
# The maximum custom deadline you can specify is 600 seconds (10 minutes).
|
321
|
+
# If this parameter is 0, a default value of 10 seconds is used.
|
311
322
|
#
|
312
323
|
# For push delivery, this value is also used to set the request timeout for
|
313
324
|
# the call to the push endpoint.
|
314
325
|
#
|
315
326
|
# If the subscriber never acknowledges the message, the Pub/Sub
|
316
327
|
# system will eventually redeliver the message.
|
317
|
-
#
|
318
|
-
# If this parameter is 0, a default value of 10 seconds is used.
|
319
328
|
# @param options [Google::Gax::CallOptions]
|
320
329
|
# Overrides the default settings for this call, e.g, timeout,
|
321
330
|
# retries, etc.
|
322
331
|
# @return [Google::Pubsub::V1::Subscription]
|
323
332
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
324
333
|
# @example
|
325
|
-
# require "google/cloud/pubsub/v1/
|
334
|
+
# require "google/cloud/pubsub/v1/subscriber_client"
|
326
335
|
#
|
327
|
-
#
|
336
|
+
# SubscriberClient = Google::Cloud::Pubsub::V1::SubscriberClient
|
328
337
|
#
|
329
|
-
#
|
330
|
-
# formatted_name =
|
331
|
-
# formatted_topic =
|
332
|
-
# response =
|
338
|
+
# subscriber_client = SubscriberClient.new
|
339
|
+
# formatted_name = SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
340
|
+
# formatted_topic = SubscriberClient.topic_path("[PROJECT]", "[TOPIC]")
|
341
|
+
# response = subscriber_client.create_subscription(formatted_name, formatted_topic)
|
333
342
|
|
334
343
|
def create_subscription \
|
335
344
|
name,
|
@@ -337,12 +346,12 @@ module Google
|
|
337
346
|
push_config: nil,
|
338
347
|
ack_deadline_seconds: nil,
|
339
348
|
options: nil
|
340
|
-
req = Google::Pubsub::V1::Subscription.new(
|
349
|
+
req = Google::Pubsub::V1::Subscription.new({
|
341
350
|
name: name,
|
342
|
-
topic: topic
|
343
|
-
|
344
|
-
|
345
|
-
|
351
|
+
topic: topic,
|
352
|
+
push_config: push_config,
|
353
|
+
ack_deadline_seconds: ack_deadline_seconds
|
354
|
+
}.delete_if { |_, v| v.nil? })
|
346
355
|
@create_subscription.call(req, options)
|
347
356
|
end
|
348
357
|
|
@@ -350,26 +359,27 @@ module Google
|
|
350
359
|
#
|
351
360
|
# @param subscription [String]
|
352
361
|
# The name of the subscription to get.
|
362
|
+
# Format is +projects/{project}/subscriptions/{sub}+.
|
353
363
|
# @param options [Google::Gax::CallOptions]
|
354
364
|
# Overrides the default settings for this call, e.g, timeout,
|
355
365
|
# retries, etc.
|
356
366
|
# @return [Google::Pubsub::V1::Subscription]
|
357
367
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
358
368
|
# @example
|
359
|
-
# require "google/cloud/pubsub/v1/
|
369
|
+
# require "google/cloud/pubsub/v1/subscriber_client"
|
360
370
|
#
|
361
|
-
#
|
371
|
+
# SubscriberClient = Google::Cloud::Pubsub::V1::SubscriberClient
|
362
372
|
#
|
363
|
-
#
|
364
|
-
# formatted_subscription =
|
365
|
-
# response =
|
373
|
+
# subscriber_client = SubscriberClient.new
|
374
|
+
# formatted_subscription = SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
375
|
+
# response = subscriber_client.get_subscription(formatted_subscription)
|
366
376
|
|
367
377
|
def get_subscription \
|
368
378
|
subscription,
|
369
379
|
options: nil
|
370
|
-
req = Google::Pubsub::V1::GetSubscriptionRequest.new(
|
380
|
+
req = Google::Pubsub::V1::GetSubscriptionRequest.new({
|
371
381
|
subscription: subscription
|
372
|
-
)
|
382
|
+
}.delete_if { |_, v| v.nil? })
|
373
383
|
@get_subscription.call(req, options)
|
374
384
|
end
|
375
385
|
|
@@ -377,6 +387,7 @@ module Google
|
|
377
387
|
#
|
378
388
|
# @param project [String]
|
379
389
|
# The name of the cloud project that subscriptions belong to.
|
390
|
+
# Format is +projects/{project}+.
|
380
391
|
# @param page_size [Integer]
|
381
392
|
# The maximum number of resources contained in the underlying API
|
382
393
|
# response. If page streaming is performed per-resource, this
|
@@ -393,20 +404,20 @@ module Google
|
|
393
404
|
# object.
|
394
405
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
395
406
|
# @example
|
396
|
-
# require "google/cloud/pubsub/v1/
|
407
|
+
# require "google/cloud/pubsub/v1/subscriber_client"
|
397
408
|
#
|
398
|
-
#
|
409
|
+
# SubscriberClient = Google::Cloud::Pubsub::V1::SubscriberClient
|
399
410
|
#
|
400
|
-
#
|
401
|
-
# formatted_project =
|
411
|
+
# subscriber_client = SubscriberClient.new
|
412
|
+
# formatted_project = SubscriberClient.project_path("[PROJECT]")
|
402
413
|
#
|
403
414
|
# # Iterate over all results.
|
404
|
-
#
|
415
|
+
# subscriber_client.list_subscriptions(formatted_project).each do |element|
|
405
416
|
# # Process element.
|
406
417
|
# end
|
407
418
|
#
|
408
419
|
# # Or iterate over results one page at a time.
|
409
|
-
#
|
420
|
+
# subscriber_client.list_subscriptions(formatted_project).each_page do |page|
|
410
421
|
# # Process each page at a time.
|
411
422
|
# page.each do |element|
|
412
423
|
# # Process element.
|
@@ -417,41 +428,43 @@ module Google
|
|
417
428
|
project,
|
418
429
|
page_size: nil,
|
419
430
|
options: nil
|
420
|
-
req = Google::Pubsub::V1::ListSubscriptionsRequest.new(
|
421
|
-
project: project
|
422
|
-
|
423
|
-
|
431
|
+
req = Google::Pubsub::V1::ListSubscriptionsRequest.new({
|
432
|
+
project: project,
|
433
|
+
page_size: page_size
|
434
|
+
}.delete_if { |_, v| v.nil? })
|
424
435
|
@list_subscriptions.call(req, options)
|
425
436
|
end
|
426
437
|
|
427
|
-
# Deletes an existing subscription. All
|
438
|
+
# Deletes an existing subscription. All messages retained in the subscription
|
428
439
|
# are immediately dropped. Calls to +Pull+ after deletion will return
|
429
440
|
# +NOT_FOUND+. After a subscription is deleted, a new one may be created with
|
430
441
|
# the same name, but the new one has no association with the old
|
431
|
-
# subscription
|
442
|
+
# subscription or its topic unless the same topic is specified.
|
432
443
|
#
|
433
444
|
# @param subscription [String]
|
434
445
|
# The subscription to delete.
|
446
|
+
# Format is +projects/{project}/subscriptions/{sub}+.
|
435
447
|
# @param options [Google::Gax::CallOptions]
|
436
448
|
# Overrides the default settings for this call, e.g, timeout,
|
437
449
|
# retries, etc.
|
438
450
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
439
451
|
# @example
|
440
|
-
# require "google/cloud/pubsub/v1/
|
452
|
+
# require "google/cloud/pubsub/v1/subscriber_client"
|
441
453
|
#
|
442
|
-
#
|
454
|
+
# SubscriberClient = Google::Cloud::Pubsub::V1::SubscriberClient
|
443
455
|
#
|
444
|
-
#
|
445
|
-
# formatted_subscription =
|
446
|
-
#
|
456
|
+
# subscriber_client = SubscriberClient.new
|
457
|
+
# formatted_subscription = SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
458
|
+
# subscriber_client.delete_subscription(formatted_subscription)
|
447
459
|
|
448
460
|
def delete_subscription \
|
449
461
|
subscription,
|
450
462
|
options: nil
|
451
|
-
req = Google::Pubsub::V1::DeleteSubscriptionRequest.new(
|
463
|
+
req = Google::Pubsub::V1::DeleteSubscriptionRequest.new({
|
452
464
|
subscription: subscription
|
453
|
-
)
|
465
|
+
}.delete_if { |_, v| v.nil? })
|
454
466
|
@delete_subscription.call(req, options)
|
467
|
+
nil
|
455
468
|
end
|
456
469
|
|
457
470
|
# Modifies the ack deadline for a specific message. This method is useful
|
@@ -462,40 +475,44 @@ module Google
|
|
462
475
|
#
|
463
476
|
# @param subscription [String]
|
464
477
|
# The name of the subscription.
|
478
|
+
# Format is +projects/{project}/subscriptions/{sub}+.
|
465
479
|
# @param ack_ids [Array<String>]
|
466
480
|
# List of acknowledgment IDs.
|
467
481
|
# @param ack_deadline_seconds [Integer]
|
468
482
|
# The new ack deadline with respect to the time this request was sent to
|
469
|
-
# the Pub/Sub system.
|
483
|
+
# the Pub/Sub system. For example, if the value is 10, the new
|
470
484
|
# ack deadline will expire 10 seconds after the +ModifyAckDeadline+ call
|
471
485
|
# was made. Specifying zero may immediately make the message available for
|
472
486
|
# another pull request.
|
487
|
+
# The minimum deadline you can specify is 0 seconds.
|
488
|
+
# The maximum deadline you can specify is 600 seconds (10 minutes).
|
473
489
|
# @param options [Google::Gax::CallOptions]
|
474
490
|
# Overrides the default settings for this call, e.g, timeout,
|
475
491
|
# retries, etc.
|
476
492
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
477
493
|
# @example
|
478
|
-
# require "google/cloud/pubsub/v1/
|
494
|
+
# require "google/cloud/pubsub/v1/subscriber_client"
|
479
495
|
#
|
480
|
-
#
|
496
|
+
# SubscriberClient = Google::Cloud::Pubsub::V1::SubscriberClient
|
481
497
|
#
|
482
|
-
#
|
483
|
-
# formatted_subscription =
|
498
|
+
# subscriber_client = SubscriberClient.new
|
499
|
+
# formatted_subscription = SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
484
500
|
# ack_ids = []
|
485
501
|
# ack_deadline_seconds = 0
|
486
|
-
#
|
502
|
+
# subscriber_client.modify_ack_deadline(formatted_subscription, ack_ids, ack_deadline_seconds)
|
487
503
|
|
488
504
|
def modify_ack_deadline \
|
489
505
|
subscription,
|
490
506
|
ack_ids,
|
491
507
|
ack_deadline_seconds,
|
492
508
|
options: nil
|
493
|
-
req = Google::Pubsub::V1::ModifyAckDeadlineRequest.new(
|
509
|
+
req = Google::Pubsub::V1::ModifyAckDeadlineRequest.new({
|
494
510
|
subscription: subscription,
|
495
511
|
ack_ids: ack_ids,
|
496
512
|
ack_deadline_seconds: ack_deadline_seconds
|
497
|
-
)
|
513
|
+
}.delete_if { |_, v| v.nil? })
|
498
514
|
@modify_ack_deadline.call(req, options)
|
515
|
+
nil
|
499
516
|
end
|
500
517
|
|
501
518
|
# Acknowledges the messages associated with the +ack_ids+ in the
|
@@ -508,6 +525,7 @@ module Google
|
|
508
525
|
#
|
509
526
|
# @param subscription [String]
|
510
527
|
# The subscription whose message is being acknowledged.
|
528
|
+
# Format is +projects/{project}/subscriptions/{sub}+.
|
511
529
|
# @param ack_ids [Array<String>]
|
512
530
|
# The acknowledgment ID for the messages being acknowledged that was returned
|
513
531
|
# by the Pub/Sub system in the +Pull+ response. Must not be empty.
|
@@ -516,24 +534,25 @@ module Google
|
|
516
534
|
# retries, etc.
|
517
535
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
518
536
|
# @example
|
519
|
-
# require "google/cloud/pubsub/v1/
|
537
|
+
# require "google/cloud/pubsub/v1/subscriber_client"
|
520
538
|
#
|
521
|
-
#
|
539
|
+
# SubscriberClient = Google::Cloud::Pubsub::V1::SubscriberClient
|
522
540
|
#
|
523
|
-
#
|
524
|
-
# formatted_subscription =
|
541
|
+
# subscriber_client = SubscriberClient.new
|
542
|
+
# formatted_subscription = SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
525
543
|
# ack_ids = []
|
526
|
-
#
|
544
|
+
# subscriber_client.acknowledge(formatted_subscription, ack_ids)
|
527
545
|
|
528
546
|
def acknowledge \
|
529
547
|
subscription,
|
530
548
|
ack_ids,
|
531
549
|
options: nil
|
532
|
-
req = Google::Pubsub::V1::AcknowledgeRequest.new(
|
550
|
+
req = Google::Pubsub::V1::AcknowledgeRequest.new({
|
533
551
|
subscription: subscription,
|
534
552
|
ack_ids: ack_ids
|
535
|
-
)
|
553
|
+
}.delete_if { |_, v| v.nil? })
|
536
554
|
@acknowledge.call(req, options)
|
555
|
+
nil
|
537
556
|
end
|
538
557
|
|
539
558
|
# Pulls messages from the server. Returns an empty list if there are no
|
@@ -543,12 +562,14 @@ module Google
|
|
543
562
|
#
|
544
563
|
# @param subscription [String]
|
545
564
|
# The subscription from which messages should be pulled.
|
565
|
+
# Format is +projects/{project}/subscriptions/{sub}+.
|
546
566
|
# @param return_immediately [true, false]
|
547
|
-
# If this
|
548
|
-
# it
|
549
|
-
#
|
550
|
-
# than returning no messages. The
|
551
|
-
# not wish to wait any longer for
|
567
|
+
# If this field set to true, the system will respond immediately even if
|
568
|
+
# it there are no messages available to return in the +Pull+ response.
|
569
|
+
# Otherwise, the system may wait (for a bounded amount of time) until at
|
570
|
+
# least one message is available, rather than returning no messages. The
|
571
|
+
# client may cancel the request if it does not wish to wait any longer for
|
572
|
+
# the response.
|
552
573
|
# @param max_messages [Integer]
|
553
574
|
# The maximum number of messages returned for this request. The Pub/Sub
|
554
575
|
# system may return fewer than the number specified.
|
@@ -558,28 +579,77 @@ module Google
|
|
558
579
|
# @return [Google::Pubsub::V1::PullResponse]
|
559
580
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
560
581
|
# @example
|
561
|
-
# require "google/cloud/pubsub/v1/
|
582
|
+
# require "google/cloud/pubsub/v1/subscriber_client"
|
562
583
|
#
|
563
|
-
#
|
584
|
+
# SubscriberClient = Google::Cloud::Pubsub::V1::SubscriberClient
|
564
585
|
#
|
565
|
-
#
|
566
|
-
# formatted_subscription =
|
586
|
+
# subscriber_client = SubscriberClient.new
|
587
|
+
# formatted_subscription = SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
567
588
|
# max_messages = 0
|
568
|
-
# response =
|
589
|
+
# response = subscriber_client.pull(formatted_subscription, max_messages)
|
569
590
|
|
570
591
|
def pull \
|
571
592
|
subscription,
|
572
593
|
max_messages,
|
573
594
|
return_immediately: nil,
|
574
595
|
options: nil
|
575
|
-
req = Google::Pubsub::V1::PullRequest.new(
|
596
|
+
req = Google::Pubsub::V1::PullRequest.new({
|
576
597
|
subscription: subscription,
|
577
|
-
max_messages: max_messages
|
578
|
-
|
579
|
-
|
598
|
+
max_messages: max_messages,
|
599
|
+
return_immediately: return_immediately
|
600
|
+
}.delete_if { |_, v| v.nil? })
|
580
601
|
@pull.call(req, options)
|
581
602
|
end
|
582
603
|
|
604
|
+
# (EXPERIMENTAL) StreamingPull is an experimental feature. This RPC will
|
605
|
+
# respond with UNIMPLEMENTED errors unless you have been invited to test
|
606
|
+
# this feature. Contact cloud-pubsub@google.com with any questions.
|
607
|
+
#
|
608
|
+
# Establishes a stream with the server, which sends messages down to the
|
609
|
+
# client. The client streams acknowledgements and ack deadline modifications
|
610
|
+
# back to the server. The server will close the stream and return the status
|
611
|
+
# on any error. The server may close the stream with status +OK+ to reassign
|
612
|
+
# server-side resources, in which case, the client should re-establish the
|
613
|
+
# stream. +UNAVAILABLE+ may also be returned in the case of a transient error
|
614
|
+
# (e.g., a server restart). These should also be retried by the client. Flow
|
615
|
+
# control can be achieved by configuring the underlying RPC channel.
|
616
|
+
#
|
617
|
+
# @param reqs [Enumerable<Google::Pubsub::V1::StreamingPullRequest>]
|
618
|
+
# The input requests.
|
619
|
+
# @param options [Google::Gax::CallOptions]
|
620
|
+
# Overrides the default settings for this call, e.g, timeout,
|
621
|
+
# retries, etc.
|
622
|
+
# @return [Enumerable<Google::Pubsub::V1::StreamingPullResponse>]
|
623
|
+
# An enumerable of Google::Pubsub::V1::StreamingPullResponse instances.
|
624
|
+
#
|
625
|
+
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
626
|
+
#
|
627
|
+
# @note
|
628
|
+
# EXPERIMENTAL:
|
629
|
+
# Streaming requests are still undergoing review.
|
630
|
+
# This method interface might change in the future.
|
631
|
+
#
|
632
|
+
# @example
|
633
|
+
# require "google/cloud/pubsub/v1/subscriber_client"
|
634
|
+
#
|
635
|
+
# StreamingPullRequest = Google::Pubsub::V1::StreamingPullRequest
|
636
|
+
# SubscriberClient = Google::Cloud::Pubsub::V1::SubscriberClient
|
637
|
+
#
|
638
|
+
# subscriber_client = SubscriberClient.new
|
639
|
+
# formatted_subscription = SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
640
|
+
# stream_ack_deadline_seconds = 0
|
641
|
+
# request = StreamingPullRequest.new
|
642
|
+
# request.subscription = formatted_subscription
|
643
|
+
# request.stream_ack_deadline_seconds = stream_ack_deadline_seconds
|
644
|
+
# requests = [request]
|
645
|
+
# subscriber_client.streaming_pull(requests).each do |element|
|
646
|
+
# # Process element.
|
647
|
+
# end
|
648
|
+
|
649
|
+
def streaming_pull reqs, options: nil
|
650
|
+
@streaming_pull.call(reqs, options)
|
651
|
+
end
|
652
|
+
|
583
653
|
# Modifies the +PushConfig+ for a specified subscription.
|
584
654
|
#
|
585
655
|
# This may be used to change a push subscription to a pull one (signified by
|
@@ -589,6 +659,7 @@ module Google
|
|
589
659
|
#
|
590
660
|
# @param subscription [String]
|
591
661
|
# The name of the subscription.
|
662
|
+
# Format is +projects/{project}/subscriptions/{sub}+.
|
592
663
|
# @param push_config [Google::Pubsub::V1::PushConfig]
|
593
664
|
# The push configuration for future deliveries.
|
594
665
|
#
|
@@ -601,25 +672,26 @@ module Google
|
|
601
672
|
# retries, etc.
|
602
673
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
603
674
|
# @example
|
604
|
-
# require "google/cloud/pubsub/v1/
|
675
|
+
# require "google/cloud/pubsub/v1/subscriber_client"
|
605
676
|
#
|
606
677
|
# PushConfig = Google::Pubsub::V1::PushConfig
|
607
|
-
#
|
678
|
+
# SubscriberClient = Google::Cloud::Pubsub::V1::SubscriberClient
|
608
679
|
#
|
609
|
-
#
|
610
|
-
# formatted_subscription =
|
680
|
+
# subscriber_client = SubscriberClient.new
|
681
|
+
# formatted_subscription = SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
611
682
|
# push_config = PushConfig.new
|
612
|
-
#
|
683
|
+
# subscriber_client.modify_push_config(formatted_subscription, push_config)
|
613
684
|
|
614
685
|
def modify_push_config \
|
615
686
|
subscription,
|
616
687
|
push_config,
|
617
688
|
options: nil
|
618
|
-
req = Google::Pubsub::V1::ModifyPushConfigRequest.new(
|
689
|
+
req = Google::Pubsub::V1::ModifyPushConfigRequest.new({
|
619
690
|
subscription: subscription,
|
620
691
|
push_config: push_config
|
621
|
-
)
|
692
|
+
}.delete_if { |_, v| v.nil? })
|
622
693
|
@modify_push_config.call(req, options)
|
694
|
+
nil
|
623
695
|
end
|
624
696
|
|
625
697
|
# Sets the access control policy on the specified resource. Replaces any
|
@@ -640,24 +712,24 @@ module Google
|
|
640
712
|
# @return [Google::Iam::V1::Policy]
|
641
713
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
642
714
|
# @example
|
643
|
-
# require "google/cloud/pubsub/v1/
|
715
|
+
# require "google/cloud/pubsub/v1/subscriber_client"
|
644
716
|
#
|
645
717
|
# Policy = Google::Iam::V1::Policy
|
646
|
-
#
|
718
|
+
# SubscriberClient = Google::Cloud::Pubsub::V1::SubscriberClient
|
647
719
|
#
|
648
|
-
#
|
649
|
-
# formatted_resource =
|
720
|
+
# subscriber_client = SubscriberClient.new
|
721
|
+
# formatted_resource = SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
650
722
|
# policy = Policy.new
|
651
|
-
# response =
|
723
|
+
# response = subscriber_client.set_iam_policy(formatted_resource, policy)
|
652
724
|
|
653
725
|
def set_iam_policy \
|
654
726
|
resource,
|
655
727
|
policy,
|
656
728
|
options: nil
|
657
|
-
req = Google::Iam::V1::SetIamPolicyRequest.new(
|
729
|
+
req = Google::Iam::V1::SetIamPolicyRequest.new({
|
658
730
|
resource: resource,
|
659
731
|
policy: policy
|
660
|
-
)
|
732
|
+
}.delete_if { |_, v| v.nil? })
|
661
733
|
@set_iam_policy.call(req, options)
|
662
734
|
end
|
663
735
|
|
@@ -675,24 +747,26 @@ module Google
|
|
675
747
|
# @return [Google::Iam::V1::Policy]
|
676
748
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
677
749
|
# @example
|
678
|
-
# require "google/cloud/pubsub/v1/
|
750
|
+
# require "google/cloud/pubsub/v1/subscriber_client"
|
679
751
|
#
|
680
|
-
#
|
752
|
+
# SubscriberClient = Google::Cloud::Pubsub::V1::SubscriberClient
|
681
753
|
#
|
682
|
-
#
|
683
|
-
# formatted_resource =
|
684
|
-
# response =
|
754
|
+
# subscriber_client = SubscriberClient.new
|
755
|
+
# formatted_resource = SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
756
|
+
# response = subscriber_client.get_iam_policy(formatted_resource)
|
685
757
|
|
686
758
|
def get_iam_policy \
|
687
759
|
resource,
|
688
760
|
options: nil
|
689
|
-
req = Google::Iam::V1::GetIamPolicyRequest.new(
|
761
|
+
req = Google::Iam::V1::GetIamPolicyRequest.new({
|
690
762
|
resource: resource
|
691
|
-
)
|
763
|
+
}.delete_if { |_, v| v.nil? })
|
692
764
|
@get_iam_policy.call(req, options)
|
693
765
|
end
|
694
766
|
|
695
767
|
# Returns permissions that a caller has on the specified resource.
|
768
|
+
# If the resource does not exist, this will return an empty set of
|
769
|
+
# permissions, not a NOT_FOUND error.
|
696
770
|
#
|
697
771
|
# @param resource [String]
|
698
772
|
# REQUIRED: The resource for which the policy detail is being requested.
|
@@ -709,23 +783,23 @@ module Google
|
|
709
783
|
# @return [Google::Iam::V1::TestIamPermissionsResponse]
|
710
784
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
711
785
|
# @example
|
712
|
-
# require "google/cloud/pubsub/v1/
|
786
|
+
# require "google/cloud/pubsub/v1/subscriber_client"
|
713
787
|
#
|
714
|
-
#
|
788
|
+
# SubscriberClient = Google::Cloud::Pubsub::V1::SubscriberClient
|
715
789
|
#
|
716
|
-
#
|
717
|
-
# formatted_resource =
|
790
|
+
# subscriber_client = SubscriberClient.new
|
791
|
+
# formatted_resource = SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
718
792
|
# permissions = []
|
719
|
-
# response =
|
793
|
+
# response = subscriber_client.test_iam_permissions(formatted_resource, permissions)
|
720
794
|
|
721
795
|
def test_iam_permissions \
|
722
796
|
resource,
|
723
797
|
permissions,
|
724
798
|
options: nil
|
725
|
-
req = Google::Iam::V1::TestIamPermissionsRequest.new(
|
799
|
+
req = Google::Iam::V1::TestIamPermissionsRequest.new({
|
726
800
|
resource: resource,
|
727
801
|
permissions: permissions
|
728
|
-
)
|
802
|
+
}.delete_if { |_, v| v.nil? })
|
729
803
|
@test_iam_permissions.call(req, options)
|
730
804
|
end
|
731
805
|
end
|