Cloud Pub/Sub API - Module Google::Cloud::PubSub (v2.17.0)

Reference documentation and code samples for the Cloud Pub/Sub API module Google::Cloud::PubSub.

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.

See Google Cloud Pub/Sub Overview.

Methods

.configure

def self.configure() -> 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 parameter project 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 parameter keyfile is considered deprecated, but may also be used.)
  • scope - (String, Array
  • 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, or nil to use the default endpoint.
  • emulator_host - (String) Host name of the emulator. Defaults to ENV["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 Subscriber#on_error.)
Yields
  • (Google::Cloud.configure.pubsub)
Returns
  • (Google::Cloud::Config) — The configuration object the Google::Cloud::PubSub library uses.

.new

def self.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.

Parameters
  • project_id (String) (defaults to: nil) — Project identifier for the Pub/Sub service you are connecting to. If not present, the default project for the credentials is used.
  • credentials (String, Hash, Google::Auth::Credentials) (defaults to: nil) — The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object. (See Credentials)
  • scope (String, Array<String>) (defaults to: nil)

    The OAuth 2.0 scopes controlling the set of resources and operations that the connection can access. See Using OAuth 2.0 to Access Google APIs.

    The default scope is:

    • https://www.googleapis.com/auth/pubsub
  • timeout (Numeric) (defaults to: nil) — Default timeout to use in requests. Optional.
  • endpoint (String) (defaults to: nil) — Override of the endpoint host name. Optional. If the param is nil, uses the default endpoint.
  • emulator_host (String) (defaults to: nil) — Pub/Sub emulator host. Optional. If the param is nil, uses the value of the emulator_host config.
  • project (String) (defaults to: nil) — Alias for the project_id argument. Deprecated.
  • keyfile (String) (defaults to: nil) — Alias for the credentials argument. Deprecated.
  • universe_domain (String) (defaults to: nil) — A custom universe domain. Optional.
Raises
  • (ArgumentError)
Example
require "google/cloud/pubsub"

pubsub = Google::Cloud::PubSub.new

topic = pubsub.topic "my-topic"
topic.publish "task completed"

Constants

DEFAULT_COMPRESS

value: false

DEFAULT_COMPRESSION_BYTES_THRESHOLD

value: 240

VERSION

value: "2.17.0".freeze