Module: Google::Cloud::Pubsub
- Defined in:
- lib/google/cloud/pubsub.rb,
lib/google/cloud/pubsub/topic.rb,
lib/google/cloud/pubsub/policy.rb,
lib/google/cloud/pubsub/convert.rb,
lib/google/cloud/pubsub/message.rb,
lib/google/cloud/pubsub/project.rb,
lib/google/cloud/pubsub/service.rb,
lib/google/cloud/pubsub/version.rb,
lib/google/cloud/pubsub/snapshot.rb,
lib/google/cloud/pubsub/subscriber.rb,
lib/google/cloud/pubsub/topic/list.rb,
lib/google/cloud/pubsub/credentials.rb,
lib/google/cloud/pubsub/subscription.rb,
lib/google/cloud/pubsub/snapshot/list.rb,
lib/google/cloud/pubsub/publish_result.rb,
lib/google/cloud/pubsub/async_publisher.rb,
lib/google/cloud/pubsub/batch_publisher.rb,
lib/google/cloud/pubsub/v1/doc/overview.rb,
lib/google/cloud/pubsub/received_message.rb,
lib/google/cloud/pubsub/subscriber/stream.rb,
lib/google/cloud/pubsub/subscription/list.rb,
lib/google/cloud/pubsub/v1/publisher_client.rb,
lib/google/cloud/pubsub/v1/subscriber_client.rb,
lib/google/cloud/pubsub/subscriber/enumerator_queue.rb,
lib/google/cloud/pubsub/subscriber/async_unary_pusher.rb,
lib/google/cloud/pubsub/subscriber/async_stream_pusher.rb
Overview
Ruby Client for Google Cloud Pub/Sub API (Beta)
Google Cloud Pub/Sub API: Provides reliable, many-to-many, asynchronous messaging between applications.
Quick Start
In order to use this library, you first need to go through the following steps:
- Select or create a Cloud Platform project.
- Enable the Google Cloud Pub/Sub API.
- Setup Authentication.
Installation
$ gem install google-cloud-pubsub
Preview
PublisherClient
require "google/cloud/pubsub"
publisher_client = Google::Cloud::Pubsub::Publisher.new
formatted_project = Google::Cloud::Pubsub::V1::PublisherClient.project_path(project_id)
# Iterate over all results.
publisher_client.list_topics(formatted_project).each do |element|
# Process element.
end
# Or iterate over results one page at a time.
publisher_client.list_topics(formatted_project).each_page do |page|
# Process each page at a time.
page.each do |element|
# Process element.
end
end
Next Steps
- Read the Google Cloud Pub/Sub API Product documentation to learn more about the product and see How-to Guides.
- View this repository's main README to see the full list of Cloud APIs that we cover.
Defined Under Namespace
Modules: V1 Classes: AsyncPublisher, BatchPublisher, Credentials, Message, Policy, Project, PublishResult, ReceivedMessage, Snapshot, Subscriber, Subscription, Topic
Constant Summary collapse
- VERSION =
"0.31.1".freeze
Class Method Summary collapse
-
.configure {|Google::Cloud.configure.pubsub| ... } ⇒ Google::Cloud::Config
Configure the Google Cloud Pubsub library.
-
.new(project_id: nil, credentials: nil, scope: nil, timeout: nil, client_config: nil, emulator_host: nil, project: nil, keyfile: nil) ⇒ Google::Cloud::Pubsub::Project
Creates a new object for connecting to the Pub/Sub service.
Class Method Details
.configure {|Google::Cloud.configure.pubsub| ... } ⇒ Google::Cloud::Config
Configure the Google Cloud Pubsub library.
The following Pubsub configuration parameters are supported:
project_id
- (String) Identifier for a Pubsub project. (The parameterproject
is considered deprecated, but may also be used.)credentials
- (String, Hash, Google::Auth::Credentials) The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object. (See Credentials) (The parameterkeyfile
is considered deprecated, but may also be used.)scope
- (String, Array) The OAuth 2.0 scopes controlling the set of resources and operations that the connection can access. retries
- (Integer) Number of times to retry requests on server error.timeout
- (Integer) Default timeout to use in requests.client_config
- (Hash) A hash of values to override the default behavior of the API client.emulator_host
- (String) Host name of the emulator. Defaults toENV["PUBSUB_EMULATOR_HOST"]
620 621 622 623 624 |
# File 'lib/google/cloud/pubsub.rb', line 620 def self.configure yield Google::Cloud.configure.pubsub if block_given? Google::Cloud.configure.pubsub end |
.new(project_id: nil, credentials: nil, scope: nil, timeout: nil, client_config: nil, emulator_host: nil, project: nil, keyfile: nil) ⇒ Google::Cloud::Pubsub::Project
Creates a new object for connecting to the Pub/Sub service. Each call creates a new connection.
For more information on connecting to Google Cloud see the Authentication Guide.
563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 |
# File 'lib/google/cloud/pubsub.rb', line 563 def self.new project_id: nil, credentials: nil, scope: nil, timeout: nil, client_config: nil, emulator_host: nil, project: nil, keyfile: nil project_id ||= (project || default_project_id) project_id = project_id.to_s # Always cast to a string raise ArgumentError, "project_id is missing" if project_id.empty? scope ||= configure.scope timeout ||= configure.timeout client_config ||= configure.client_config emulator_host ||= configure.emulator_host if emulator_host return Pubsub::Project.new( Pubsub::Service.new( project_id, :this_channel_is_insecure, host: emulator_host ) ) end credentials ||= (keyfile || default_credentials(scope: scope)) unless credentials.is_a? Google::Auth::Credentials credentials = Pubsub::Credentials.new credentials, scope: scope end Pubsub::Project.new( Pubsub::Service.new( project_id, credentials, timeout: timeout, client_config: client_config ) ) end |