@@ -478,132 +478,6 @@ def test_update_table_cmek(client, to_delete):
478478 # [END bigquery_update_table_cmek]
479479
480480
481- @pytest .mark .skip (
482- reason = (
483- "update_table() is flaky "
484- "https://github.com/GoogleCloudPlatform/google-cloud-python/issues/5589"
485- )
486- )
487- def test_manage_views (client , to_delete ):
488- project = client .project
489- source_dataset_id = "source_dataset_{}" .format (_millis ())
490- source_dataset_ref = bigquery .DatasetReference (project , source_dataset_id )
491- source_dataset = bigquery .Dataset (source_dataset_ref )
492- source_dataset = client .create_dataset (source_dataset )
493- to_delete .append (source_dataset )
494-
495- job_config = bigquery .LoadJobConfig ()
496- job_config .schema = [
497- bigquery .SchemaField ("name" , "STRING" ),
498- bigquery .SchemaField ("post_abbr" , "STRING" ),
499- ]
500- job_config .skip_leading_rows = 1
501- uri = "gs://cloud-samples-data/bigquery/us-states/us-states.csv"
502- source_table_id = "us_states"
503- load_job = client .load_table_from_uri (
504- uri , source_dataset .table (source_table_id ), job_config = job_config
505- )
506- load_job .result ()
507-
508- shared_dataset_id = "shared_dataset_{}" .format (_millis ())
509- shared_dataset_ref = bigquery .DatasetReference (project , shared_dataset_id )
510- shared_dataset = bigquery .Dataset (shared_dataset_ref )
511- shared_dataset = client .create_dataset (shared_dataset )
512- to_delete .append (shared_dataset )
513-
514- # [START bigquery_create_view]
515- # from google.cloud import bigquery
516- # client = bigquery.Client()
517- # project = 'my-project'
518- # source_dataset_id = 'my_source_dataset'
519- # source_table_id = 'us_states'
520- # shared_dataset_ref = bigquery.DatasetReference(project, 'my_shared_dataset')
521-
522- # This example shows how to create a shared view of a source table of
523- # US States. The source table contains all 50 states, while the view will
524- # contain only states with names starting with 'W'.
525- view_ref = shared_dataset_ref .table ("my_shared_view" )
526- view = bigquery .Table (view_ref )
527- sql_template = 'SELECT name, post_abbr FROM `{}.{}.{}` WHERE name LIKE "W%"'
528- view .view_query = sql_template .format (project , source_dataset_id , source_table_id )
529- view = client .create_table (view ) # API request
530-
531- print ("Successfully created view at {}" .format (view .full_table_id ))
532- # [END bigquery_create_view]
533-
534- # [START bigquery_update_view_query]
535- # from google.cloud import bigquery
536- # client = bigquery.Client()
537- # project = 'my-project'
538- # source_dataset_id = 'my_source_dataset'
539- # source_table_id = 'us_states'
540- # shared_dataset_ref = bigquery.DatasetReference(project, 'my_shared_dataset')
541-
542- # This example shows how to update a shared view of a source table of
543- # US States. The view's query will be updated to contain only states with
544- # names starting with 'M'.
545- view_ref = shared_dataset_ref .table ("my_shared_view" )
546- view = bigquery .Table (view_ref )
547- sql_template = 'SELECT name, post_abbr FROM `{}.{}.{}` WHERE name LIKE "M%"'
548- view .view_query = sql_template .format (project , source_dataset_id , source_table_id )
549- view = client .update_table (view , ["view_query" ]) # API request
550- # [END bigquery_update_view_query]
551-
552- # [START bigquery_get_view]
553- # from google.cloud import bigquery
554- # client = bigquery.Client()
555- # shared_dataset_id = 'my_shared_dataset'
556- project = client .project
557- shared_dataset_ref = bigquery .DatasetReference (project , shared_dataset_id )
558- view_ref = shared_dataset_ref .table ("my_shared_view" )
559- view = client .get_table (view_ref ) # API Request
560-
561- # Display view properties
562- print ("View at {}" .format (view .full_table_id ))
563- print ("View Query:\n {}" .format (view .view_query ))
564- # [END bigquery_get_view]
565- assert view .view_query is not None
566-
567- analyst_group_email = "[email protected] " 568- # [START bigquery_grant_view_access]
569- # from google.cloud import bigquery
570- # client = bigquery.Client()
571-
572- # Assign access controls to the dataset containing the view
573- # shared_dataset_id = 'my_shared_dataset'
574- # analyst_group_email = '[email protected] ' 575- project = client .project
576- shared_dataset_ref = bigquery .DatasetReference (project , shared_dataset_id )
577- shared_dataset = client .get_dataset (shared_dataset_ref ) # API request
578- access_entries = shared_dataset .access_entries
579- access_entries .append (
580- bigquery .AccessEntry ("READER" , "groupByEmail" , analyst_group_email )
581- )
582- shared_dataset .access_entries = access_entries
583- shared_dataset = client .update_dataset (
584- shared_dataset , ["access_entries" ]
585- ) # API request
586-
587- # Authorize the view to access the source dataset
588- # project = 'my-project'
589- # source_dataset_id = 'my_source_dataset'
590- project = client .project
591- source_dataset_ref = bigquery .DatasetReference (project , source_dataset_id )
592- source_dataset = client .get_dataset (source_dataset_ref ) # API request
593- view_reference = {
594- "projectId" : project ,
595- "datasetId" : shared_dataset_id ,
596- "tableId" : "my_shared_view" ,
597- }
598- access_entries = source_dataset .access_entries
599- access_entries .append (bigquery .AccessEntry (None , "view" , view_reference ))
600- source_dataset .access_entries = access_entries
601- source_dataset = client .update_dataset (
602- source_dataset , ["access_entries" ]
603- ) # API request
604- # [END bigquery_grant_view_access]
605-
606-
607481def test_load_table_add_column (client , to_delete ):
608482 dataset_id = "load_table_add_column_{}" .format (_millis ())
609483 project = client .project
0 commit comments