Skip to content

Commit aed487d

Browse files
authored
Merge pull request googleapis#1833 from tseaver/bigquery-testable_table_snippets
Make table snippets testable
2 parents a1b8066 + 6ae8385 commit aed487d

File tree

2 files changed

+324
-82
lines changed

2 files changed

+324
-82
lines changed

docs/bigquery-usage.rst

Lines changed: 33 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -120,107 +120,64 @@ Tables
120120

121121
Tables exist within datasets. List tables for the dataset:
122122

123-
.. doctest::
124-
125-
>>> from gcloud import bigquery
126-
>>> client = bigquery.Client()
127-
>>> dataset = client.dataset('dataset_name')
128-
>>> tables, next_page_token = dataset.list_tables() # API request
129-
>>> [table.name for table in tables]
130-
['table_name']
123+
.. literalinclude:: bigquery_snippets.py
124+
:start-after: [START dataset_list_tables]
125+
:end-before: [END dataset_list_tables]
131126

132127
Create a table:
133128

134-
.. doctest::
135-
136-
>>> from gcloud import bigquery
137-
>>> client = bigquery.Client()
138-
>>> dataset = client.dataset('dataset_name')
139-
>>> table = dataset.table(name='person_ages')
140-
>>> table.create() # API request
129+
.. literalinclude:: bigquery_snippets.py
130+
:start-after: [START table_create]
131+
:end-before: [END table_create]
141132

142133
Check for the existence of a table:
143134

144-
.. doctest::
145-
146-
>>> from gcloud import bigquery
147-
>>> client = bigquery.Client()
148-
>>> dataset = client.dataset('dataset_name')
149-
>>> table = dataset.table(name='person_ages')
150-
>>> table.exists() # API request
151-
True
135+
.. literalinclude:: bigquery_snippets.py
136+
:start-after: [START table_exists]
137+
:end-before: [END table_exists]
152138

153139
Refresh metadata for a table (to pick up changes made by another client):
154140

155-
.. doctest::
156-
157-
>>> from gcloud import bigquery
158-
>>> client = bigquery.Client()
159-
>>> dataset = client.dataset('dataset_name')
160-
>>> dataset.reload() # API request
141+
.. literalinclude:: bigquery_snippets.py
142+
:start-after: [START table_reload]
143+
:end-before: [END table_reload]
161144

162145
Patch specific properties for a table:
163146

164-
.. doctest::
165-
166-
>>> from gcloud import bigquery
167-
>>> client = bigquery.Client()
168-
>>> dataset = client.dataset('dataset_name')
169-
>>> table = dataset.table(name='person_ages')
170-
>>> table.patch(friendly_name='Person Ages',
171-
... description='Ages of persons') # API request
147+
.. literalinclude:: bigquery_snippets.py
148+
:start-after: [START table_patch]
149+
:end-before: [END table_patch]
172150

173151
Update all writable metadata for a table
174152

175-
.. doctest::
176-
177-
>>> from gcloud import bigquery
178-
>>> from gcloud.bigquery import SchemaField
179-
>>> client = bigquery.Client()
180-
>>> dataset = client.dataset('dataset_name')
181-
>>> table = dataset.table(name='person_ages')
182-
>>> table.schema = [
183-
... SchemaField('full_name', 'STRING', mode='required'),
184-
... SchemaField('age', 'INTEGER', mode='required)]
185-
>>> table.update() # API request
153+
.. literalinclude:: bigquery_snippets.py
154+
:start-after: [START table_update]
155+
:end-before: [END table_update]
186156

187-
Upload table data from a file:
157+
Get rows from a table's data:
188158

189-
.. doctest::
159+
.. literalinclude:: bigquery_snippets.py
160+
:start-after: [START table_fetch_data]
161+
:end-before: [END table_fetch_data]
190162

191-
>>> from gcloud import bigquery
192-
>>> client = bigquery.Client()
193-
>>> dataset = client.dataset('dataset_name')
194-
>>> table = dataset.table(name='person_ages')
195-
>>> table.schema = [
196-
... SchemaField('full_name', 'STRING', mode='required'),
197-
... SchemaField('age', 'INTEGER', mode='required)]
198-
>>> with open('person_ages.csv', 'rb') as csv_file:
199-
... table.upload_from_file(csv_file, 'CSV',
200-
... create_disposition='CREATE_IF_NEEDED')
163+
Insert rows into a table's data:
201164

202-
Get rows from a table's data:
165+
.. literalinclude:: bigquery_snippets.py
166+
:start-after: [START table_insert_data]
167+
:end-before: [END table_insert_data]
203168

204-
.. doctest::
169+
Upload table data from a file:
205170

206-
>>> from gcloud import bigquery
207-
>>> client = bigquery.Client()
208-
>>> dataset = client.dataset('dataset_name')
209-
>>> table = dataset.table(name='person_ages')
210-
>>> rows, next_page_token = table.fetch_data(max_results=100) # API request
211-
>>> for row in rows:
212-
... for field, value in zip(table.schema, row):
213-
... do_something(field, value)
171+
.. literalinclude:: bigquery_snippets.py
172+
:start-after: [START table_upload_from_file]
173+
:end-before: [END table_upload_from_file]
214174

215175
Delete a table:
216176

217-
.. doctest::
177+
.. literalinclude:: bigquery_snippets.py
178+
:start-after: [START table_delete]
179+
:end-before: [END table_delete]
218180

219-
>>> from gcloud import bigquery
220-
>>> client = bigquery.Client()
221-
>>> dataset = client.dataset('dataset_name')
222-
>>> table = dataset.table(name='person_ages')
223-
>>> table.delete() # API request
224181

225182
Jobs
226183
----

0 commit comments

Comments
 (0)