@@ -478,132 +478,6 @@ def test_update_table_cmek(client, to_delete):
478
478
# [END bigquery_update_table_cmek]
479
479
480
480
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
-
607
481
def test_load_table_add_column (client , to_delete ):
608
482
dataset_id = "load_table_add_column_{}" .format (_millis ())
609
483
project = client .project
0 commit comments