@@ -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
240267context = 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