@@ -105,7 +105,7 @@ public HttpBigQueryRpc(BigQueryOptions options) {
105
105
this .options = options ;
106
106
bigquery =
107
107
new Bigquery .Builder (transport , new GsonFactory (), initializer )
108
- .setRootUrl (options .getHost ( ))
108
+ .setRootUrl (options .getResolvedApiaryHost ( "bigquery" ))
109
109
.setApplicationName (options .getApplicationName ())
110
110
.build ();
111
111
}
@@ -114,9 +114,16 @@ private static BigQueryException translate(IOException exception) {
114
114
return new BigQueryException (exception );
115
115
}
116
116
117
+ private void validateRPC () throws BigQueryException , IOException {
118
+ if (!this .options .hasValidUniverseDomain ()) {
119
+ throw new BigQueryException (BigQueryException .UNKNOWN_CODE , "Invalid universe domain" );
120
+ }
121
+ }
122
+
117
123
@ Override
118
124
public Dataset getDataset (String projectId , String datasetId , Map <Option , ?> options ) {
119
125
try {
126
+ validateRPC ();
120
127
return bigquery
121
128
.datasets ()
122
129
.get (projectId , datasetId )
@@ -135,6 +142,7 @@ public Dataset getDataset(String projectId, String datasetId, Map<Option, ?> opt
135
142
@ Override
136
143
public Tuple <String , Iterable <Dataset >> listDatasets (String projectId , Map <Option , ?> options ) {
137
144
try {
145
+ validateRPC ();
138
146
DatasetList datasetsList =
139
147
bigquery
140
148
.datasets ()
@@ -159,6 +167,7 @@ public Tuple<String, Iterable<Dataset>> listDatasets(String projectId, Map<Optio
159
167
@ Override
160
168
public Dataset create (Dataset dataset , Map <Option , ?> options ) {
161
169
try {
170
+ validateRPC ();
162
171
return bigquery
163
172
.datasets ()
164
173
.insert (dataset .getDatasetReference ().getProjectId (), dataset )
@@ -173,6 +182,7 @@ public Dataset create(Dataset dataset, Map<Option, ?> options) {
173
182
@ Override
174
183
public Table create (Table table , Map <Option , ?> options ) {
175
184
try {
185
+ validateRPC ();
176
186
// unset the type, as it is output only
177
187
table .setType (null );
178
188
TableReference reference = table .getTableReference ();
@@ -190,6 +200,7 @@ public Table create(Table table, Map<Option, ?> options) {
190
200
@ Override
191
201
public Routine create (Routine routine , Map <Option , ?> options ) {
192
202
try {
203
+ validateRPC ();
193
204
RoutineReference reference = routine .getRoutineReference ();
194
205
return bigquery
195
206
.routines ()
@@ -205,6 +216,7 @@ public Routine create(Routine routine, Map<Option, ?> options) {
205
216
@ Override
206
217
public Job create (Job job , Map <Option , ?> options ) {
207
218
try {
219
+ validateRPC ();
208
220
String projectId =
209
221
job .getJobReference () != null
210
222
? job .getJobReference ().getProjectId ()
@@ -223,6 +235,7 @@ public Job create(Job job, Map<Option, ?> options) {
223
235
@ Override
224
236
public Job createJobForQuery (Job job ) {
225
237
try {
238
+ validateRPC ();
226
239
String projectId =
227
240
job .getJobReference () != null
228
241
? job .getJobReference ().getProjectId ()
@@ -236,6 +249,7 @@ public Job createJobForQuery(Job job) {
236
249
@ Override
237
250
public boolean deleteDataset (String projectId , String datasetId , Map <Option , ?> options ) {
238
251
try {
252
+ validateRPC ();
239
253
bigquery
240
254
.datasets ()
241
255
.delete (projectId , datasetId )
@@ -255,6 +269,7 @@ public boolean deleteDataset(String projectId, String datasetId, Map<Option, ?>
255
269
@ Override
256
270
public Dataset patch (Dataset dataset , Map <Option , ?> options ) {
257
271
try {
272
+ validateRPC ();
258
273
DatasetReference reference = dataset .getDatasetReference ();
259
274
return bigquery
260
275
.datasets ()
@@ -270,6 +285,7 @@ public Dataset patch(Dataset dataset, Map<Option, ?> options) {
270
285
@ Override
271
286
public Table patch (Table table , Map <Option , ?> options ) {
272
287
try {
288
+ validateRPC ();
273
289
// unset the type, as it is output only
274
290
table .setType (null );
275
291
TableReference reference = table .getTableReference ();
@@ -289,6 +305,7 @@ public Table patch(Table table, Map<Option, ?> options) {
289
305
public Table getTable (
290
306
String projectId , String datasetId , String tableId , Map <Option , ?> options ) {
291
307
try {
308
+ validateRPC ();
292
309
return bigquery
293
310
.tables ()
294
311
.get (projectId , datasetId , tableId )
@@ -316,6 +333,7 @@ private String getTableMetadataOption(Map<Option, ?> options) {
316
333
public Tuple <String , Iterable <Table >> listTables (
317
334
String projectId , String datasetId , Map <Option , ?> options ) {
318
335
try {
336
+ validateRPC ();
319
337
TableList tableList =
320
338
bigquery
321
339
.tables ()
@@ -351,6 +369,7 @@ public Table apply(TableList.Tables tablePb) {
351
369
@ Override
352
370
public boolean deleteTable (String projectId , String datasetId , String tableId ) {
353
371
try {
372
+ validateRPC ();
354
373
bigquery .tables ().delete (projectId , datasetId , tableId ).execute ();
355
374
return true ;
356
375
} catch (IOException ex ) {
@@ -365,6 +384,7 @@ public boolean deleteTable(String projectId, String datasetId, String tableId) {
365
384
@ Override
366
385
public Model patch (Model model , Map <Option , ?> options ) {
367
386
try {
387
+ validateRPC ();
368
388
// unset the type, as it is output only
369
389
ModelReference reference = model .getModelReference ();
370
390
return bigquery
@@ -382,6 +402,7 @@ public Model patch(Model model, Map<Option, ?> options) {
382
402
public Model getModel (
383
403
String projectId , String datasetId , String modelId , Map <Option , ?> options ) {
384
404
try {
405
+ validateRPC ();
385
406
return bigquery
386
407
.models ()
387
408
.get (projectId , datasetId , modelId )
@@ -401,6 +422,7 @@ public Model getModel(
401
422
public Tuple <String , Iterable <Model >> listModels (
402
423
String projectId , String datasetId , Map <Option , ?> options ) {
403
424
try {
425
+ validateRPC ();
404
426
ListModelsResponse modelList =
405
427
bigquery
406
428
.models ()
@@ -420,6 +442,7 @@ public Tuple<String, Iterable<Model>> listModels(
420
442
@ Override
421
443
public boolean deleteModel (String projectId , String datasetId , String modelId ) {
422
444
try {
445
+ validateRPC ();
423
446
bigquery .models ().delete (projectId , datasetId , modelId ).execute ();
424
447
return true ;
425
448
} catch (IOException ex ) {
@@ -434,6 +457,7 @@ public boolean deleteModel(String projectId, String datasetId, String modelId) {
434
457
@ Override
435
458
public Routine update (Routine routine , Map <Option , ?> options ) {
436
459
try {
460
+ validateRPC ();
437
461
RoutineReference reference = routine .getRoutineReference ();
438
462
return bigquery
439
463
.routines ()
@@ -451,6 +475,7 @@ public Routine update(Routine routine, Map<Option, ?> options) {
451
475
public Routine getRoutine (
452
476
String projectId , String datasetId , String routineId , Map <Option , ?> options ) {
453
477
try {
478
+ validateRPC ();
454
479
return bigquery
455
480
.routines ()
456
481
.get (projectId , datasetId , routineId )
@@ -470,6 +495,7 @@ public Routine getRoutine(
470
495
public Tuple <String , Iterable <Routine >> listRoutines (
471
496
String projectId , String datasetId , Map <Option , ?> options ) {
472
497
try {
498
+ validateRPC ();
473
499
ListRoutinesResponse routineList =
474
500
bigquery
475
501
.routines ()
@@ -491,6 +517,7 @@ public Tuple<String, Iterable<Routine>> listRoutines(
491
517
@ Override
492
518
public boolean deleteRoutine (String projectId , String datasetId , String routineId ) {
493
519
try {
520
+ validateRPC ();
494
521
bigquery .routines ().delete (projectId , datasetId , routineId ).execute ();
495
522
return true ;
496
523
} catch (IOException ex ) {
@@ -506,6 +533,7 @@ public boolean deleteRoutine(String projectId, String datasetId, String routineI
506
533
public TableDataInsertAllResponse insertAll (
507
534
String projectId , String datasetId , String tableId , TableDataInsertAllRequest request ) {
508
535
try {
536
+ validateRPC ();
509
537
return bigquery
510
538
.tabledata ()
511
539
.insertAll (projectId , datasetId , tableId , request )
@@ -520,6 +548,7 @@ public TableDataInsertAllResponse insertAll(
520
548
public TableDataList listTableData (
521
549
String projectId , String datasetId , String tableId , Map <Option , ?> options ) {
522
550
try {
551
+ validateRPC ();
523
552
return bigquery
524
553
.tabledata ()
525
554
.list (projectId , datasetId , tableId )
@@ -544,6 +573,7 @@ public TableDataList listTableDataWithRowLimit(
544
573
Integer maxResultPerPage ,
545
574
String pageToken ) {
546
575
try {
576
+ validateRPC ();
547
577
return bigquery
548
578
.tabledata ()
549
579
.list (projectId , datasetId , tableId )
@@ -559,6 +589,7 @@ public TableDataList listTableDataWithRowLimit(
559
589
@ Override
560
590
public Job getJob (String projectId , String jobId , String location , Map <Option , ?> options ) {
561
591
try {
592
+ validateRPC ();
562
593
return bigquery
563
594
.jobs ()
564
595
.get (projectId , jobId )
@@ -578,6 +609,7 @@ public Job getJob(String projectId, String jobId, String location, Map<Option, ?
578
609
@ Override
579
610
public Job getQueryJob (String projectId , String jobId , String location ) {
580
611
try {
612
+ validateRPC ();
581
613
return bigquery
582
614
.jobs ()
583
615
.get (projectId , jobId )
@@ -596,6 +628,7 @@ public Job getQueryJob(String projectId, String jobId, String location) {
596
628
@ Override
597
629
public Tuple <String , Iterable <Job >> listJobs (String projectId , Map <Option , ?> options ) {
598
630
try {
631
+ validateRPC ();
599
632
Bigquery .Jobs .List request =
600
633
bigquery
601
634
.jobs ()
@@ -650,6 +683,7 @@ public Job apply(JobList.Jobs jobPb) {
650
683
@ Override
651
684
public boolean cancel (String projectId , String jobId , String location ) {
652
685
try {
686
+ validateRPC ();
653
687
bigquery
654
688
.jobs ()
655
689
.cancel (projectId , jobId )
@@ -669,6 +703,7 @@ public boolean cancel(String projectId, String jobId, String location) {
669
703
@ Override
670
704
public boolean deleteJob (String projectId , String jobName , String location ) {
671
705
try {
706
+ validateRPC ();
672
707
bigquery
673
708
.jobs ()
674
709
.delete (projectId , jobName )
@@ -685,6 +720,7 @@ public boolean deleteJob(String projectId, String jobName, String location) {
685
720
public GetQueryResultsResponse getQueryResults (
686
721
String projectId , String jobId , String location , Map <Option , ?> options ) {
687
722
try {
723
+ validateRPC ();
688
724
return bigquery
689
725
.jobs ()
690
726
.getQueryResults (projectId , jobId )
@@ -707,6 +743,7 @@ public GetQueryResultsResponse getQueryResults(
707
743
public GetQueryResultsResponse getQueryResultsWithRowLimit (
708
744
String projectId , String jobId , String location , Integer maxResultPerPage , Long timeoutMs ) {
709
745
try {
746
+ validateRPC ();
710
747
return bigquery
711
748
.jobs ()
712
749
.getQueryResults (projectId , jobId )
@@ -723,6 +760,7 @@ public GetQueryResultsResponse getQueryResultsWithRowLimit(
723
760
@ Override
724
761
public QueryResponse queryRpc (String projectId , QueryRequest content ) {
725
762
try {
763
+ validateRPC ();
726
764
return bigquery .jobs ().query (projectId , content ).execute ();
727
765
} catch (IOException ex ) {
728
766
throw translate (ex );
@@ -732,7 +770,7 @@ public QueryResponse queryRpc(String projectId, QueryRequest content) {
732
770
@ Override
733
771
public String open (Job loadJob ) {
734
772
try {
735
- String builder = options .getHost ( );
773
+ String builder = options .getResolvedApiaryHost ( "bigquery" );
736
774
if (!builder .endsWith ("/" )) {
737
775
builder += "/" ;
738
776
}
@@ -807,6 +845,7 @@ public Job write(
807
845
@ Override
808
846
public Policy getIamPolicy (String resourceId , Map <Option , ?> options ) {
809
847
try {
848
+ validateRPC ();
810
849
GetIamPolicyRequest policyRequest = new GetIamPolicyRequest ();
811
850
if (null != Option .REQUESTED_POLICY_VERSION .getLong (options )) {
812
851
policyRequest =
@@ -828,6 +867,7 @@ public Policy getIamPolicy(String resourceId, Map<Option, ?> options) {
828
867
@ Override
829
868
public Policy setIamPolicy (String resourceId , Policy policy , Map <Option , ?> options ) {
830
869
try {
870
+ validateRPC ();
831
871
SetIamPolicyRequest policyRequest = new SetIamPolicyRequest ().setPolicy (policy );
832
872
return bigquery
833
873
.tables ()
@@ -843,6 +883,7 @@ public Policy setIamPolicy(String resourceId, Policy policy, Map<Option, ?> opti
843
883
public TestIamPermissionsResponse testIamPermissions (
844
884
String resourceId , List <String > permissions , Map <Option , ?> options ) {
845
885
try {
886
+ validateRPC ();
846
887
TestIamPermissionsRequest permissionsRequest =
847
888
new TestIamPermissionsRequest ().setPermissions (permissions );
848
889
return bigquery
0 commit comments