Skip to content

Commit 7e8feaf

Browse files
Add_maximum_bytes_billed_to_magics
1 parent 62f53f3 commit 7e8feaf

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

bigquery/google/cloud/bigquery/magics.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ def __init__(self):
160160
self._credentials = None
161161
self._project = None
162162
self._use_bqstorage_api = None
163+
self._maximum_bytes_billed = None
163164

164165
@property
165166
def credentials(self):
@@ -236,6 +237,32 @@ def use_bqstorage_api(self):
236237
def use_bqstorage_api(self, value):
237238
self._use_bqstorage_api = value
238239

240+
@property
241+
def maximum_bytes_billed(self):
242+
"""int: Maximum bytes to be billed for this job or :data:`None` if not set.
243+
244+
Example:
245+
Manually setting the context maximum_bytes_billed:
246+
247+
>>> from google.cloud.bigquery import magics
248+
>>> magics.context.maximum_bytes_billed = '123'
249+
250+
Raises:
251+
ValueError: If the parameters are invalid.
252+
"""
253+
return self._maximum_bytes_billed
254+
255+
@maximum_bytes_billed.setter
256+
def maximum_bytes_billed(self, value):
257+
try:
258+
value = int(value)
259+
self._maximum_bytes_billed = value
260+
job_config = bigquery.job.QueryJobConfig()
261+
job_config.maximum_bytes_billed = self._maximum_bytes_billed
262+
263+
except:
264+
raise ValueError("value is not a valid integer.")
265+
239266

240267
context = Context()
241268

@@ -369,6 +396,7 @@ def _cell_magic(line, query):
369396
job_config = bigquery.job.QueryJobConfig()
370397
job_config.query_parameters = params
371398
job_config.use_legacy_sql = args.use_legacy_sql
399+
job_config.maximum_bytes_billed = context.maximum_bytes_billed
372400
query_job = _run_query(client, query, job_config)
373401

374402
if not args.verbose:

0 commit comments

Comments
 (0)