Skip to content

Commit 838392f

Browse files
committed
Updating Pub/Sub docs based on client changes.
1 parent 805225b commit 838392f

File tree

2 files changed

+104
-89
lines changed

2 files changed

+104
-89
lines changed

docs/pubsub-api.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55
Pub/Sub
66
-------
77

8-
Connections
8+
Client
99
~~~~~~~~~~~
1010

11-
.. automodule:: gcloud.pubsub.connection
11+
.. automodule:: gcloud.pubsub.client
1212
:members:
1313
:undoc-members:
1414
:show-inheritance:
1515

16-
Interacting with the API
17-
~~~~~~~~~~~~~~~~~~~~~~~~
16+
Connections
17+
~~~~~~~~~~~
1818

19-
.. automodule:: gcloud.pubsub.api
19+
.. automodule:: gcloud.pubsub.connection
2020
:members:
2121
:undoc-members:
2222
:show-inheritance:

docs/pubsub-usage.rst

Lines changed: 99 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,28 @@
11
Using the API
22
=============
33

4-
Connection / Authorization
5-
--------------------------
4+
Authorization / Configuration
5+
-----------------------------
66

7-
- Inferred defaults used to create connection if none configured explicitly:
7+
- Use :class:`Client <gcloud.pubsub.client.Client>` objects to configure
8+
your applications.
89

9-
- credentials (derived from GAE / GCE environ if present).
10+
- :class:`Client <gcloud.pubsub.client.Client>` objects hold both a ``project``
11+
and an authenticated connection
1012

11-
- ``project`` (derived from GAE / GCE environ if present).
13+
- The authentication credentials can be implicitly determined from the
14+
environment or directly via
15+
:meth:`with_service_account_json <gcloud.pubsub.client.Client.with_service_account_json>`
16+
and
17+
:meth:`with_service_account_p12 <gcloud.pubsub.client.Client.with_service_account_p12>`.
1218

13-
- ``scopes``
19+
- After setting ``GOOGLE_APPLICATION_CREDENTIALS`` and ``GCLOUD_PROJECT``
20+
environment variables, create a :class:`Client <gcloud.pubsub.client.Client>`
21+
22+
.. doctest::
23+
24+
>>> from gcloud import pubsub
25+
>>> client = pubsub.Client()
1426

1527

1628
Manage topics for a project
@@ -20,51 +32,47 @@ Create a new topic for the default project:
2032

2133
.. doctest::
2234

23-
>>> from gcloud.pubsub import Topic
24-
>>> topic = Topic('topic_name')
35+
>>> from gcloud import pubsub
36+
>>> client = pubsub.Client()
37+
>>> topic = client.topic('topic_name')
2538
>>> topic.create() # API request
2639

27-
Create a new topic for an explicit project:
40+
Create a new topic for an explicit client:
2841

2942
.. doctest::
3043

31-
>>> from gcloud.pubsub import Topic
32-
>>> topic = Topic('topic_name', project='my.project')
44+
>>> from gcloud import pubsub
45+
>>> client = pubsub.Client()
46+
>>> topic = Topic('topic_name', client=client)
3347
>>> topic.create() # API request
3448

35-
Check for the existance of a topic:
49+
Check for the existence of a topic:
3650

3751
.. doctest::
3852

39-
>>> from gcloud.pubsub import Topic
40-
>>> topic = Topic('topic_name')
53+
>>> from gcloud import pubsub
54+
>>> client = pubsub.Client()
55+
>>> topic = client.topic('topic_name')
4156
>>> topic.exists() # API request
4257
True
4358

4459
List topics for the default project:
4560

4661
.. doctest::
4762

48-
>>> from gcloud.pubsub import list_topics
49-
>>> topics, next_page_token = list_topics() # API request
50-
>>> [topic.name for topic in topics]
51-
['topic_name']
52-
53-
List topics for an explicit project:
54-
55-
.. doctest::
56-
57-
>>> from gcloud.pubsub import list_topics
58-
>>> topics, next_page_token = list_topics(project='my.project') # API request
63+
>>> from gcloud import pubsub
64+
>>> client = pubsub.Client()
65+
>>> topics, next_page_token = client.list_topics() # API request
5966
>>> [topic.name for topic in topics]
6067
['topic_name']
6168

6269
Delete a topic:
6370

6471
.. doctest::
6572

66-
>>> from gcloud.pubsub import Topic
67-
>>> topic = Topic('topic_name')
73+
>>> from gcloud import pubsub
74+
>>> client = pubsub.Client()
75+
>>> topic = client.topic('topic_name')
6876
>>> topic.delete() # API request
6977

7078

@@ -75,17 +83,19 @@ Publish a single message to a topic, without attributes:
7583

7684
.. doctest::
7785

78-
>>> from gcloud.pubsub import Topic
79-
>>> topic = Topic('topic_name')
86+
>>> from gcloud import pubsub
87+
>>> client = pubsub.Client()
88+
>>> topic = client.topic('topic_name')
8089
>>> topic.publish('this is the message_payload') # API request
8190
<message_id>
8291

8392
Publish a single message to a topic, with attributes:
8493

8594
.. doctest::
8695

87-
>>> from gcloud.pubsub import Topic
88-
>>> topic = Topic('topic_name')
96+
>>> from gcloud import pubsub
97+
>>> client = pubsub.Client()
98+
>>> topic = client.topic('topic_name')
8999
>>> topic.publish('this is another message_payload',
90100
... attr1='value1', attr2='value2') # API request
91101
<message_id>
@@ -94,8 +104,9 @@ Publish a set of messages to a topic (as a single request):
94104

95105
.. doctest::
96106

97-
>>> from gcloud.pubsub import Topic
98-
>>> topic = Topic('topic_name')
107+
>>> from gcloud import pubsub
108+
>>> client = pubsub.Client()
109+
>>> topic = client.topic('topic_name')
99110
>>> with topic.batch() as batch:
100111
... batch.publish('this is the first message_payload')
101112
... batch.publish('this is the second message_payload',
@@ -116,93 +127,97 @@ Create a new pull subscription for a topic:
116127

117128
.. doctest::
118129

119-
>>> from gcloud.pubsub import Topic
120-
>>> from gcloud.pubsub import Subscription
121-
>>> topic = Topic('topic_name')
122-
>>> subscription = Subscription('subscription_name', topic)
130+
>>> from gcloud import pubsub
131+
>>> client = pubsub.Client()
132+
>>> topic = client.topic('topic_name')
133+
>>> subscription = pubsub.Subscription('subscription_name', topic)
123134
>>> subscription.create() # API request
124135

125136
Create a new pull subscription for a topic with a non-default ACK deadline:
126137

127138
.. doctest::
128139

129-
>>> from gcloud.pubsub import Topic
130-
>>> from gcloud.pubsub import Subscription
131-
>>> topic = Topic('topic_name')
132-
>>> subscription = Subscription('subscription_name', ack_deadline=90)
140+
>>> from gcloud import pubsub
141+
>>> client = pubsub.Client()
142+
>>> topic = client.topic('topic_name')
143+
>>> subscription = pubsub.Subscription('subscription_name', ack_deadline=90)
133144
>>> subscription.create() # API request
134145

135146
Create a new push subscription for a topic:
136147

137148
.. doctest::
138149

150+
>>> from gcloud import pubsub
139151
>>> ENDPOINT = 'https://example.com/hook'
140-
>>> from gcloud.pubsub import Topic
141-
>>> from gcloud.pubsub import Subscription
142-
>>> topic = Topic('topic_name')
143-
>>> subscription = Subscription('subscription_name', push_endpoint=ENDPOINT)
152+
>>> client = pubsub.Client()
153+
>>> topic = client.topic('topic_name')
154+
>>> subscription = pubsub.Subscription('subscription_name',
155+
... push_endpoint=ENDPOINT)
144156
>>> subscription.create() # API request
145157

146158
Check for the existence of a subscription:
147159

148160
.. doctest::
149161

150-
>>> from gcloud.pubsub import Topic
151-
>>> from gcloud.pubsub import Subscription
152-
>>> topic = Topic('topic_name')
153-
>>> subscription = Subscription('subscription_name', topic)
162+
>>> from gcloud import pubsub
163+
>>> client = pubsub.Client()
164+
>>> topic = client.topic('topic_name')
165+
>>> subscription = pubsub.Subscription('subscription_name', topic)
154166
>>> subscription.exists() # API request
155167
True
156168

157169
Convert a pull subscription to push:
158170

159171
.. doctest::
160172

173+
>>> from gcloud import pubsub
161174
>>> ENDPOINT = 'https://example.com/hook'
162-
>>> from gcloud.pubsub import Topic
163-
>>> from gcloud.pubsub import Subscription
164-
>>> topic = Topic('topic_name')
165-
>>> subscription = Subscription('subscription_name', topic)
175+
>>> client = pubsub.Client()
176+
>>> topic = client.topic('topic_name')
177+
>>> subscription = pubsub.Subscription('subscription_name', topic)
166178
>>> subscription.modify_push_configuration(push_endpoint=ENDPOINT) # API request
167179

168180
Convert a push subscription to pull:
169181

170182
.. doctest::
171183

184+
>>> from gcloud import pubsub
172185
>>> ENDPOINT = 'https://example.com/hook'
173-
>>> from gcloud.pubsub import Topic
174-
>>> topic = Topic('topic_name')
175-
>>> subscription = Subscription('subscription_name', topic,
176-
... push_endpoint=ENDPOINT)
186+
>>> client = pubsub.Client()
187+
>>> topic = client.topic('topic_name')
188+
>>> subscription = pubusb.Subscription('subscription_name', topic,
189+
... push_endpoint=ENDPOINT)
177190
>>> subscription.modify_push_configuration(push_endpoint=None) # API request
178191

179192
List subscriptions for a topic:
180193

181194
.. doctest::
182195

183-
>>> from gcloud.pubsub import Topic
184-
>>> topic = Topic('topic_name')
185-
>>> subscriptions, next_page_token = topic.list_subscriptions() # API request
196+
>>> from gcloud import pubsub
197+
>>> client = pubsub.Client()
198+
>>> subscriptions, next_page_token = client.list_subscriptions(
199+
... topic_name='topic_name') # API request
186200
>>> [subscription.name for subscription in subscriptions]
187201
['subscription_name']
188202

189203
List all subscriptions for the default project:
190204

191205
.. doctest::
192206

193-
>>> from gcloud.pubsub import list_subscriptions
194-
>>> subscription, next_page_tokens = list_subscriptions() # API request
207+
>>> from gcloud import pubsub
208+
>>> client = pubsub.Client()
209+
>>> subscription, next_page_tokens = client.list_subscriptions() # API request
195210
>>> [subscription.name for subscription in subscriptions]
196211
['subscription_name']
197212

198213
Delete a subscription:
199214

200215
.. doctest::
201216

202-
>>> from gcloud.pubsub import Topic
203-
>>> from gcloud.pubsub import Subscription
204-
>>> topic = Topic('topic_name')
205-
>>> subscription = Subscription('subscription_name', topic)
217+
>>> from gcloud import pubsub
218+
>>> client = pubsub.Client()
219+
>>> topic = client.topic('topic_name')
220+
>>> subscription = pubsub.Subscription('subscription_name', topic)
206221
>>> subscription.delete() # API request
207222

208223

@@ -213,13 +228,13 @@ Fetch pending messages for a pull subscription:
213228

214229
.. doctest::
215230

216-
>>> from gcloud.pubsub import Topic
217-
>>> from gcloud.pubsub import Subscription
218-
>>> topic = Topic('topic_name')
219-
>>> subscription = Subscription('subscription_name', topic)
220-
>>> with topic:
221-
... topic.publish('this is the first message_payload')
222-
... topic.publish('this is the second message_payload',
231+
>>> from gcloud import pubsub
232+
>>> client = pubsub.Client()
233+
>>> topic = client.topic('topic_name')
234+
>>> subscription = pubsub.Subscription('subscription_name', topic)
235+
>>> with topic.batch() as batch:
236+
... batch.publish('this is the first message_payload')
237+
... batch.publish('this is the second message_payload',
223238
... attr1='value1', attr2='value2')
224239
>>> received = subscription.pull() # API request
225240
>>> messages = [recv[1] for recv in received]
@@ -242,13 +257,13 @@ Fetch a limited number of pending messages for a pull subscription:
242257

243258
.. doctest::
244259

245-
>>> from gcloud.pubsub import Topic
246-
>>> from gcloud.pubsub import Subscription
247-
>>> topic = Topic('topic_name')
248-
>>> subscription = Subscription('subscription_name', topic)
249-
>>> with topic:
250-
... topic.publish('this is the first message_payload')
251-
... topic.publish('this is the second message_payload',
260+
>>> from gcloud import pubsub
261+
>>> client = pubsub.Client()
262+
>>> topic = client.topic('topic_name')
263+
>>> subscription = pubsub.Subscription('subscription_name', topic)
264+
>>> with topic.batch() as batch:
265+
... batch.publish('this is the first message_payload')
266+
... batch.publish('this is the second message_payload',
252267
... attr1='value1', attr2='value2')
253268
>>> received = subscription.pull(max_messages=1) # API request
254269
>>> messages = [recv[1] for recv in received]
@@ -258,10 +273,10 @@ Fetch messages for a pull subscription without blocking (none pending):
258273

259274
.. doctest::
260275

261-
>>> from gcloud.pubsub import Topic
262-
>>> from gcloud.pubsub import Subscription
263-
>>> topic = Topic('topic_name')
264-
>>> subscription = Subscription('subscription_name', topic)
276+
>>> from gcloud import pubsub
277+
>>> client = pubsub.Client()
278+
>>> topic = client.topic('topic_name')
279+
>>> subscription = pubsub.Subscription('subscription_name', topic)
265280
>>> received = subscription.pull(max_messages=1) # API request
266281
>>> messages = [recv[1] for recv in received]
267282
>>> [message.id for message in messages]

0 commit comments

Comments
 (0)