Skip to content

Commit 29f35d0

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

File tree

2 files changed

+100
-94
lines changed

2 files changed

+100
-94
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: 95 additions & 89 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 to the PubSub service.
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,38 @@ Create a new topic for the default project:
2032

2133
.. doctest::
2234

23-
>>> from gcloud.pubsub import Topic
24-
>>> topic = Topic('topic_name')
25-
>>> topic.create() # API request
26-
27-
Create a new topic for an explicit project:
28-
29-
.. doctest::
30-
31-
>>> from gcloud.pubsub import Topic
32-
>>> topic = Topic('topic_name', project='my.project')
35+
>>> from gcloud import pubsub
36+
>>> client = pubsub.Client()
37+
>>> topic = client.topic('topic_name')
3338
>>> topic.create() # API request
3439

35-
Check for the existance of a topic:
40+
Check for the existence of a topic:
3641

3742
.. doctest::
3843

39-
>>> from gcloud.pubsub import Topic
40-
>>> topic = Topic('topic_name')
44+
>>> from gcloud import pubsub
45+
>>> client = pubsub.Client()
46+
>>> topic = client.topic('topic_name')
4147
>>> topic.exists() # API request
4248
True
4349

4450
List topics for the default project:
4551

4652
.. doctest::
4753

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
54+
>>> from gcloud import pubsub
55+
>>> client = pubsub.Client()
56+
>>> topics, next_page_token = client.list_topics() # API request
5957
>>> [topic.name for topic in topics]
6058
['topic_name']
6159

6260
Delete a topic:
6361

6462
.. doctest::
6563

66-
>>> from gcloud.pubsub import Topic
67-
>>> topic = Topic('topic_name')
64+
>>> from gcloud import pubsub
65+
>>> client = pubsub.Client()
66+
>>> topic = client.topic('topic_name')
6867
>>> topic.delete() # API request
6968

7069

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

7675
.. doctest::
7776

78-
>>> from gcloud.pubsub import Topic
79-
>>> topic = Topic('topic_name')
77+
>>> from gcloud import pubsub
78+
>>> client = pubsub.Client()
79+
>>> topic = client.topic('topic_name')
8080
>>> topic.publish('this is the message_payload') # API request
8181
<message_id>
8282

8383
Publish a single message to a topic, with attributes:
8484

8585
.. doctest::
8686

87-
>>> from gcloud.pubsub import Topic
88-
>>> topic = Topic('topic_name')
87+
>>> from gcloud import pubsub
88+
>>> client = pubsub.Client()
89+
>>> topic = client.topic('topic_name')
8990
>>> topic.publish('this is another message_payload',
9091
... attr1='value1', attr2='value2') # API request
9192
<message_id>
@@ -94,8 +95,9 @@ Publish a set of messages to a topic (as a single request):
9495

9596
.. doctest::
9697

97-
>>> from gcloud.pubsub import Topic
98-
>>> topic = Topic('topic_name')
98+
>>> from gcloud import pubsub
99+
>>> client = pubsub.Client()
100+
>>> topic = client.topic('topic_name')
99101
>>> with topic.batch() as batch:
100102
... batch.publish('this is the first message_payload')
101103
... batch.publish('this is the second message_payload',
@@ -116,93 +118,97 @@ Create a new pull subscription for a topic:
116118

117119
.. doctest::
118120

119-
>>> from gcloud.pubsub import Topic
120-
>>> from gcloud.pubsub import Subscription
121-
>>> topic = Topic('topic_name')
122-
>>> subscription = Subscription('subscription_name', topic)
121+
>>> from gcloud import pubsub
122+
>>> client = pubsub.Client()
123+
>>> topic = client.topic('topic_name')
124+
>>> subscription = pubsub.Subscription('subscription_name', topic)
123125
>>> subscription.create() # API request
124126

125127
Create a new pull subscription for a topic with a non-default ACK deadline:
126128

127129
.. doctest::
128130

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)
131+
>>> from gcloud import pubsub
132+
>>> client = pubsub.Client()
133+
>>> topic = client.topic('topic_name')
134+
>>> subscription = pubsub.Subscription('subscription_name', ack_deadline=90)
133135
>>> subscription.create() # API request
134136

135137
Create a new push subscription for a topic:
136138

137139
.. doctest::
138140

141+
>>> from gcloud import pubsub
139142
>>> 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)
143+
>>> client = pubsub.Client()
144+
>>> topic = client.topic('topic_name')
145+
>>> subscription = pubsub.Subscription('subscription_name',
146+
... push_endpoint=ENDPOINT)
144147
>>> subscription.create() # API request
145148

146149
Check for the existence of a subscription:
147150

148151
.. doctest::
149152

150-
>>> from gcloud.pubsub import Topic
151-
>>> from gcloud.pubsub import Subscription
152-
>>> topic = Topic('topic_name')
153-
>>> subscription = Subscription('subscription_name', topic)
153+
>>> from gcloud import pubsub
154+
>>> client = pubsub.Client()
155+
>>> topic = client.topic('topic_name')
156+
>>> subscription = pubsub.Subscription('subscription_name', topic)
154157
>>> subscription.exists() # API request
155158
True
156159

157160
Convert a pull subscription to push:
158161

159162
.. doctest::
160163

164+
>>> from gcloud import pubsub
161165
>>> 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)
166+
>>> client = pubsub.Client()
167+
>>> topic = client.topic('topic_name')
168+
>>> subscription = pubsub.Subscription('subscription_name', topic)
166169
>>> subscription.modify_push_configuration(push_endpoint=ENDPOINT) # API request
167170

168171
Convert a push subscription to pull:
169172

170173
.. doctest::
171174

175+
>>> from gcloud import pubsub
172176
>>> 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)
177+
>>> client = pubsub.Client()
178+
>>> topic = client.topic('topic_name')
179+
>>> subscription = pubusb.Subscription('subscription_name', topic,
180+
... push_endpoint=ENDPOINT)
177181
>>> subscription.modify_push_configuration(push_endpoint=None) # API request
178182

179183
List subscriptions for a topic:
180184

181185
.. doctest::
182186

183-
>>> from gcloud.pubsub import Topic
184-
>>> topic = Topic('topic_name')
185-
>>> subscriptions, next_page_token = topic.list_subscriptions() # API request
187+
>>> from gcloud import pubsub
188+
>>> client = pubsub.Client()
189+
>>> subscriptions, next_page_token = client.list_subscriptions(
190+
... topic_name='topic_name') # API request
186191
>>> [subscription.name for subscription in subscriptions]
187192
['subscription_name']
188193

189194
List all subscriptions for the default project:
190195

191196
.. doctest::
192197

193-
>>> from gcloud.pubsub import list_subscriptions
194-
>>> subscription, next_page_tokens = list_subscriptions() # API request
198+
>>> from gcloud import pubsub
199+
>>> client = pubsub.Client()
200+
>>> subscription, next_page_tokens = client.list_subscriptions() # API request
195201
>>> [subscription.name for subscription in subscriptions]
196202
['subscription_name']
197203

198204
Delete a subscription:
199205

200206
.. doctest::
201207

202-
>>> from gcloud.pubsub import Topic
203-
>>> from gcloud.pubsub import Subscription
204-
>>> topic = Topic('topic_name')
205-
>>> subscription = Subscription('subscription_name', topic)
208+
>>> from gcloud import pubsub
209+
>>> client = pubsub.Client()
210+
>>> topic = client.topic('topic_name')
211+
>>> subscription = pubsub.Subscription('subscription_name', topic)
206212
>>> subscription.delete() # API request
207213

208214

@@ -213,13 +219,13 @@ Fetch pending messages for a pull subscription:
213219

214220
.. doctest::
215221

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',
222+
>>> from gcloud import pubsub
223+
>>> client = pubsub.Client()
224+
>>> topic = client.topic('topic_name')
225+
>>> subscription = pubsub.Subscription('subscription_name', topic)
226+
>>> with topic.batch() as batch:
227+
... batch.publish('this is the first message_payload')
228+
... batch.publish('this is the second message_payload',
223229
... attr1='value1', attr2='value2')
224230
>>> received = subscription.pull() # API request
225231
>>> messages = [recv[1] for recv in received]
@@ -242,13 +248,13 @@ Fetch a limited number of pending messages for a pull subscription:
242248

243249
.. doctest::
244250

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',
251+
>>> from gcloud import pubsub
252+
>>> client = pubsub.Client()
253+
>>> topic = client.topic('topic_name')
254+
>>> subscription = pubsub.Subscription('subscription_name', topic)
255+
>>> with topic.batch() as batch:
256+
... batch.publish('this is the first message_payload')
257+
... batch.publish('this is the second message_payload',
252258
... attr1='value1', attr2='value2')
253259
>>> received = subscription.pull(max_messages=1) # API request
254260
>>> messages = [recv[1] for recv in received]
@@ -258,10 +264,10 @@ Fetch messages for a pull subscription without blocking (none pending):
258264

259265
.. doctest::
260266

261-
>>> from gcloud.pubsub import Topic
262-
>>> from gcloud.pubsub import Subscription
263-
>>> topic = Topic('topic_name')
264-
>>> subscription = Subscription('subscription_name', topic)
267+
>>> from gcloud import pubsub
268+
>>> client = pubsub.Client()
269+
>>> topic = client.topic('topic_name')
270+
>>> subscription = pubsub.Subscription('subscription_name', topic)
265271
>>> received = subscription.pull(max_messages=1) # API request
266272
>>> messages = [recv[1] for recv in received]
267273
>>> [message.id for message in messages]

0 commit comments

Comments
 (0)