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/async_pusher.rb,
lib/google/cloud/pubsub/subscriber/enumerator_queue.rb
Overview
Ruby Client for Google Cloud Pub/Sub API (Alpha)
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.29.0"
Class Method Summary collapse
-
.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
.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.
525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 |
# File 'lib/google/cloud/pubsub.rb', line 525 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 || Pubsub::Project.default_project_id) project_id = project_id.to_s # Always cast to a string fail ArgumentError, "project_id is missing" if project_id.empty? emulator_host ||= ENV["PUBSUB_EMULATOR_HOST"] if emulator_host return Pubsub::Project.new( Pubsub::Service.new( project_id, :this_channel_is_insecure, host: emulator_host)) end credentials ||= (keyfile || Pubsub::Credentials.default(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 |