Module: Google::Cloud::PubSub
- Defined in:
- lib/google/cloud/pubsub.rb,
lib/google/cloud/pubsub/topic.rb,
lib/google/cloud/pubsub/errors.rb,
lib/google/cloud/pubsub/policy.rb,
lib/google/cloud/pubsub/schema.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/schema/list.rb,
lib/google/cloud/pubsub/retry_policy.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/flow_controller.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/acknowledge_result.rb,
lib/google/cloud/pubsub/subscriber/inventory.rb,
lib/google/cloud/pubsub/subscriber/sequencer.rb,
lib/google/cloud/pubsub/async_publisher/batch.rb,
lib/google/cloud/pubsub/subscription/push_config.rb,
lib/google/cloud/pubsub/subscriber/enumerator_queue.rb,
lib/google/cloud/pubsub/subscriber/timed_unary_buffer.rb
Overview
Google Cloud Pub/Sub
Google Cloud Pub/Sub is designed to provide reliable, many-to-many, asynchronous messaging between applications. Publisher applications can send messages to a "topic" and other applications can subscribe to that topic to receive the messages. By decoupling senders and receivers, Google Cloud Pub/Sub allows developers to communicate between independently written applications.
Defined Under Namespace
Classes: AcknowledgeResult, AsyncPublisher, AsyncPublisherStopped, BatchPublisher, Credentials, FlowControlLimitError, Message, OrderedMessageDeliveryError, OrderedMessagesDisabled, OrderingKeyError, Policy, Project, PublishResult, ReceivedMessage, RetryPolicy, Schema, Snapshot, Subscriber, Subscription, Topic
Constant Summary collapse
- DEFAULT_COMPRESS =
false
- DEFAULT_COMPRESSION_BYTES_THRESHOLD =
240
- VERSION =
"2.19.0".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, universe_domain: nil, endpoint: 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. quota_project
- (String) The project ID for a project that can be used by client libraries for quota and billing purposes.timeout
- (Numeric) Default timeout to use in requests.endpoint
- (String) Override of the endpoint host name, ornil
to use the default endpoint.emulator_host
- (String) Host name of the emulator. Defaults toENV["PUBSUB_EMULATOR_HOST"]
on_error
- (Proc) A Proc to be run when an error is encountered on a background thread. The Proc must take the error object as the single argument. (See Google::Cloud::PubSub::Subscriber#on_error.)
141 142 143 144 145 |
# File 'lib/google/cloud/pubsub.rb', line 141 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, universe_domain: nil, endpoint: 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.
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/google/cloud/pubsub.rb', line 77 def self.new project_id: nil, credentials: nil, scope: nil, timeout: nil, universe_domain: nil, endpoint: nil, emulator_host: nil, project: nil, keyfile: nil project_id ||= project || default_project_id scope ||= configure.scope timeout ||= configure.timeout endpoint ||= configure.endpoint universe_domain ||= configure.universe_domain emulator_host ||= configure.emulator_host if emulator_host credentials = :this_channel_is_insecure endpoint = emulator_host else credentials ||= keyfile || default_credentials(scope: scope) unless credentials.is_a? Google::Auth::Credentials credentials = PubSub::Credentials.new credentials, scope: scope end end project_id ||= credentials.project_id if credentials.respond_to? :project_id project_id = project_id.to_s # Always cast to a string raise ArgumentError, "project_id is missing" if project_id.empty? service = PubSub::Service.new project_id, credentials, host: endpoint, timeout: timeout, universe_domain: universe_domain PubSub::Project.new service end |