google-cloud-bigquery 1.32.1 → 1.35.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +63 -0
- data/lib/google/cloud/bigquery/convert.rb +3 -0
- data/lib/google/cloud/bigquery/data.rb +33 -0
- data/lib/google/cloud/bigquery/dataset.rb +28 -21
- data/lib/google/cloud/bigquery/job.rb +11 -2
- data/lib/google/cloud/bigquery/load_job.rb +148 -34
- data/lib/google/cloud/bigquery/model.rb +8 -8
- data/lib/google/cloud/bigquery/project.rb +26 -20
- data/lib/google/cloud/bigquery/query_job.rb +44 -6
- data/lib/google/cloud/bigquery/routine.rb +2 -2
- data/lib/google/cloud/bigquery/schema/field.rb +321 -56
- data/lib/google/cloud/bigquery/schema.rb +161 -40
- data/lib/google/cloud/bigquery/service.rb +1 -1
- data/lib/google/cloud/bigquery/table/async_inserter.rb +1 -0
- data/lib/google/cloud/bigquery/table.rb +162 -50
- data/lib/google/cloud/bigquery/version.rb +1 -1
- metadata +16 -2
@@ -287,48 +287,67 @@ module Google
|
|
287
287
|
# Adds a string field to the schema.
|
288
288
|
#
|
289
289
|
# @param [String] name The field name. The name must contain only
|
290
|
-
# letters (
|
290
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
291
291
|
# start with a letter or underscore. The maximum length is 128
|
292
292
|
# characters.
|
293
293
|
# @param [String] description A description of the field.
|
294
294
|
# @param [Symbol] mode The field's mode. The possible values are
|
295
295
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
296
296
|
# `:nullable`.
|
297
|
-
#
|
298
|
-
|
299
|
-
|
297
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
298
|
+
# single policy tag for the field. Policy tag identifiers are of
|
299
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
300
|
+
# At most 1 policy tag is currently allowed.
|
301
|
+
# @param [Integer] max_length The maximum UTF-8 length of strings
|
302
|
+
# allowed in the field.
|
303
|
+
#
|
304
|
+
def string name, description: nil, mode: :nullable, policy_tags: nil, max_length: nil
|
305
|
+
add_field name,
|
306
|
+
:string,
|
307
|
+
description: description,
|
308
|
+
mode: mode,
|
309
|
+
policy_tags: policy_tags,
|
310
|
+
max_length: max_length
|
300
311
|
end
|
301
312
|
|
302
313
|
##
|
303
314
|
# Adds an integer field to the schema.
|
304
315
|
#
|
305
316
|
# @param [String] name The field name. The name must contain only
|
306
|
-
# letters (
|
317
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
307
318
|
# start with a letter or underscore. The maximum length is 128
|
308
319
|
# characters.
|
309
320
|
# @param [String] description A description of the field.
|
310
321
|
# @param [Symbol] mode The field's mode. The possible values are
|
311
322
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
312
323
|
# `:nullable`.
|
324
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
325
|
+
# single policy tag for the field. Policy tag identifiers are of
|
326
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
327
|
+
# At most 1 policy tag is currently allowed.
|
313
328
|
#
|
314
|
-
def integer name, description: nil, mode: :nullable
|
315
|
-
add_field name, :integer, description: description, mode: mode
|
329
|
+
def integer name, description: nil, mode: :nullable, policy_tags: nil
|
330
|
+
add_field name, :integer, description: description, mode: mode, policy_tags: policy_tags
|
316
331
|
end
|
317
332
|
|
318
333
|
##
|
319
334
|
# Adds a floating-point number field to the schema.
|
320
335
|
#
|
321
336
|
# @param [String] name The field name. The name must contain only
|
322
|
-
# letters (
|
337
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
323
338
|
# start with a letter or underscore. The maximum length is 128
|
324
339
|
# characters.
|
325
340
|
# @param [String] description A description of the field.
|
326
341
|
# @param [Symbol] mode The field's mode. The possible values are
|
327
342
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
328
343
|
# `:nullable`.
|
344
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
345
|
+
# single policy tag for the field. Policy tag identifiers are of
|
346
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
347
|
+
# At most 1 policy tag is currently allowed.
|
329
348
|
#
|
330
|
-
def float name, description: nil, mode: :nullable
|
331
|
-
add_field name, :float, description: description, mode: mode
|
349
|
+
def float name, description: nil, mode: :nullable, policy_tags: nil
|
350
|
+
add_field name, :float, description: description, mode: mode, policy_tags: policy_tags
|
332
351
|
end
|
333
352
|
|
334
353
|
##
|
@@ -346,16 +365,36 @@ module Google
|
|
346
365
|
# for financial calculations.
|
347
366
|
#
|
348
367
|
# @param [String] name The field name. The name must contain only
|
349
|
-
# letters (
|
368
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
350
369
|
# start with a letter or underscore. The maximum length is 128
|
351
370
|
# characters.
|
352
371
|
# @param [String] description A description of the field.
|
353
372
|
# @param [Symbol] mode The field's mode. The possible values are
|
354
373
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
355
374
|
# `:nullable`.
|
356
|
-
#
|
357
|
-
|
358
|
-
|
375
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
376
|
+
# single policy tag for the field. Policy tag identifiers are of
|
377
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
378
|
+
# At most 1 policy tag is currently allowed.
|
379
|
+
# @param [Integer] precision The precision (maximum number of total
|
380
|
+
# digits) for the field. Acceptable values for precision must be:
|
381
|
+
# `1 ≤ (precision - scale) ≤ 29`. Values for scale must be:
|
382
|
+
# `0 ≤ scale ≤ 9`. If the scale value is set, the precision value
|
383
|
+
# must be set as well.
|
384
|
+
# @param [Integer] scale The scale (maximum number of digits in the
|
385
|
+
# fractional part) for the field. Acceptable values for precision
|
386
|
+
# must be: `1 ≤ (precision - scale) ≤ 29`. Values for scale must
|
387
|
+
# be: `0 ≤ scale ≤ 9`. If the scale value is set, the precision
|
388
|
+
# value must be set as well.
|
389
|
+
#
|
390
|
+
def numeric name, description: nil, mode: :nullable, policy_tags: nil, precision: nil, scale: nil
|
391
|
+
add_field name,
|
392
|
+
:numeric,
|
393
|
+
description: description,
|
394
|
+
mode: mode,
|
395
|
+
policy_tags: policy_tags,
|
396
|
+
precision: precision,
|
397
|
+
scale: scale
|
359
398
|
end
|
360
399
|
|
361
400
|
##
|
@@ -373,111 +412,180 @@ module Google
|
|
373
412
|
# for financial calculations.
|
374
413
|
#
|
375
414
|
# @param [String] name The field name. The name must contain only
|
376
|
-
# letters (
|
415
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
377
416
|
# start with a letter or underscore. The maximum length is 128
|
378
417
|
# characters.
|
379
418
|
# @param [String] description A description of the field.
|
380
419
|
# @param [Symbol] mode The field's mode. The possible values are
|
381
420
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
382
421
|
# `:nullable`.
|
383
|
-
#
|
384
|
-
|
385
|
-
|
422
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
423
|
+
# single policy tag for the field. Policy tag identifiers are of
|
424
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
425
|
+
# At most 1 policy tag is currently allowed.
|
426
|
+
# @param [Integer] precision The precision (maximum number of total
|
427
|
+
# digits) for the field. Acceptable values for precision must be:
|
428
|
+
# `1 ≤ (precision - scale) ≤ 38`. Values for scale must be:
|
429
|
+
# `0 ≤ scale ≤ 38`. If the scale value is set, the precision value
|
430
|
+
# must be set as well.
|
431
|
+
# @param [Integer] scale The scale (maximum number of digits in the
|
432
|
+
# fractional part) for the field. Acceptable values for precision
|
433
|
+
# must be: `1 ≤ (precision - scale) ≤ 38`. Values for scale must
|
434
|
+
# be: `0 ≤ scale ≤ 38`. If the scale value is set, the precision
|
435
|
+
# value must be set as well.
|
436
|
+
#
|
437
|
+
def bignumeric name, description: nil, mode: :nullable, policy_tags: nil, precision: nil, scale: nil
|
438
|
+
add_field name,
|
439
|
+
:bignumeric,
|
440
|
+
description: description,
|
441
|
+
mode: mode,
|
442
|
+
policy_tags: policy_tags,
|
443
|
+
precision: precision,
|
444
|
+
scale: scale
|
386
445
|
end
|
387
446
|
|
388
447
|
##
|
389
448
|
# Adds a boolean field to the schema.
|
390
449
|
#
|
391
450
|
# @param [String] name The field name. The name must contain only
|
392
|
-
# letters (
|
451
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
393
452
|
# start with a letter or underscore. The maximum length is 128
|
394
453
|
# characters.
|
395
454
|
# @param [String] description A description of the field.
|
396
455
|
# @param [Symbol] mode The field's mode. The possible values are
|
397
456
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
398
457
|
# `:nullable`.
|
458
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
459
|
+
# single policy tag for the field. Policy tag identifiers are of
|
460
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
461
|
+
# At most 1 policy tag is currently allowed.
|
399
462
|
#
|
400
|
-
def boolean name, description: nil, mode: :nullable
|
401
|
-
add_field name, :boolean, description: description, mode: mode
|
463
|
+
def boolean name, description: nil, mode: :nullable, policy_tags: nil
|
464
|
+
add_field name, :boolean, description: description, mode: mode, policy_tags: policy_tags
|
402
465
|
end
|
403
466
|
|
404
467
|
##
|
405
468
|
# Adds a bytes field to the schema.
|
406
469
|
#
|
407
470
|
# @param [String] name The field name. The name must contain only
|
408
|
-
# letters (
|
471
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
409
472
|
# start with a letter or underscore. The maximum length is 128
|
410
473
|
# characters.
|
411
474
|
# @param [String] description A description of the field.
|
412
475
|
# @param [Symbol] mode The field's mode. The possible values are
|
413
476
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
414
477
|
# `:nullable`.
|
415
|
-
#
|
416
|
-
|
417
|
-
|
478
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
479
|
+
# single policy tag for the field. Policy tag identifiers are of
|
480
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
481
|
+
# At most 1 policy tag is currently allowed.
|
482
|
+
# @param [Integer] max_length The maximum the maximum number of
|
483
|
+
# bytes in the field.
|
484
|
+
#
|
485
|
+
def bytes name, description: nil, mode: :nullable, policy_tags: nil, max_length: nil
|
486
|
+
add_field name, :bytes, description: description, mode: mode, policy_tags: policy_tags, max_length: max_length
|
418
487
|
end
|
419
488
|
|
420
489
|
##
|
421
490
|
# Adds a timestamp field to the schema.
|
422
491
|
#
|
423
492
|
# @param [String] name The field name. The name must contain only
|
424
|
-
# letters (
|
493
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
425
494
|
# start with a letter or underscore. The maximum length is 128
|
426
495
|
# characters.
|
427
496
|
# @param [String] description A description of the field.
|
428
497
|
# @param [Symbol] mode The field's mode. The possible values are
|
429
498
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
430
499
|
# `:nullable`.
|
431
|
-
|
432
|
-
|
500
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
501
|
+
# single policy tag for the field. Policy tag identifiers are of
|
502
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
503
|
+
# At most 1 policy tag is currently allowed.
|
504
|
+
#
|
505
|
+
def timestamp name, description: nil, mode: :nullable, policy_tags: nil
|
506
|
+
add_field name, :timestamp, description: description, mode: mode, policy_tags: policy_tags
|
433
507
|
end
|
434
508
|
|
435
509
|
##
|
436
510
|
# Adds a time field to the schema.
|
437
511
|
#
|
438
512
|
# @param [String] name The field name. The name must contain only
|
439
|
-
# letters (
|
513
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
440
514
|
# start with a letter or underscore. The maximum length is 128
|
441
515
|
# characters.
|
442
516
|
# @param [String] description A description of the field.
|
443
517
|
# @param [Symbol] mode The field's mode. The possible values are
|
444
518
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
445
519
|
# `:nullable`.
|
520
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
521
|
+
# single policy tag for the field. Policy tag identifiers are of
|
522
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
523
|
+
# At most 1 policy tag is currently allowed.
|
446
524
|
#
|
447
|
-
def time name, description: nil, mode: :nullable
|
448
|
-
add_field name, :time, description: description, mode: mode
|
525
|
+
def time name, description: nil, mode: :nullable, policy_tags: nil
|
526
|
+
add_field name, :time, description: description, mode: mode, policy_tags: policy_tags
|
449
527
|
end
|
450
528
|
|
451
529
|
##
|
452
530
|
# Adds a datetime field to the schema.
|
453
531
|
#
|
454
532
|
# @param [String] name The field name. The name must contain only
|
455
|
-
# letters (
|
533
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
456
534
|
# start with a letter or underscore. The maximum length is 128
|
457
535
|
# characters.
|
458
536
|
# @param [String] description A description of the field.
|
459
537
|
# @param [Symbol] mode The field's mode. The possible values are
|
460
538
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
461
539
|
# `:nullable`.
|
540
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
541
|
+
# single policy tag for the field. Policy tag identifiers are of
|
542
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
543
|
+
# At most 1 policy tag is currently allowed.
|
462
544
|
#
|
463
|
-
def datetime name, description: nil, mode: :nullable
|
464
|
-
add_field name, :datetime, description: description, mode: mode
|
545
|
+
def datetime name, description: nil, mode: :nullable, policy_tags: nil
|
546
|
+
add_field name, :datetime, description: description, mode: mode, policy_tags: policy_tags
|
465
547
|
end
|
466
548
|
|
467
549
|
##
|
468
550
|
# Adds a date field to the schema.
|
469
551
|
#
|
470
552
|
# @param [String] name The field name. The name must contain only
|
471
|
-
# letters (
|
553
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
554
|
+
# start with a letter or underscore. The maximum length is 128
|
555
|
+
# characters.
|
556
|
+
# @param [String] description A description of the field.
|
557
|
+
# @param [Symbol] mode The field's mode. The possible values are
|
558
|
+
# `:nullable`, `:required`, and `:repeated`. The default value is
|
559
|
+
# `:nullable`.
|
560
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
561
|
+
# single policy tag for the field. Policy tag identifiers are of
|
562
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
563
|
+
# At most 1 policy tag is currently allowed.
|
564
|
+
#
|
565
|
+
def date name, description: nil, mode: :nullable, policy_tags: nil
|
566
|
+
add_field name, :date, description: description, mode: mode, policy_tags: policy_tags
|
567
|
+
end
|
568
|
+
|
569
|
+
##
|
570
|
+
# Adds a geography field to the schema.
|
571
|
+
#
|
572
|
+
# @see https://cloud.google.com/bigquery/docs/gis-data Working with BigQuery GIS data
|
573
|
+
#
|
574
|
+
# @param [String] name The field name. The name must contain only
|
575
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
472
576
|
# start with a letter or underscore. The maximum length is 128
|
473
577
|
# characters.
|
474
578
|
# @param [String] description A description of the field.
|
475
579
|
# @param [Symbol] mode The field's mode. The possible values are
|
476
580
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
477
581
|
# `:nullable`.
|
582
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
583
|
+
# single policy tag for the field. Policy tag identifiers are of
|
584
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
585
|
+
# At most 1 policy tag is currently allowed.
|
478
586
|
#
|
479
|
-
def
|
480
|
-
add_field name, :
|
587
|
+
def geography name, description: nil, mode: :nullable, policy_tags: nil
|
588
|
+
add_field name, :geography, description: description, mode: mode, policy_tags: policy_tags
|
481
589
|
end
|
482
590
|
|
483
591
|
##
|
@@ -488,7 +596,7 @@ module Google
|
|
488
596
|
# ](https://cloud.google.com/bigquery/docs/loading-data#loading_denormalized_nested_and_repeated_data).
|
489
597
|
#
|
490
598
|
# @param [String] name The field name. The name must contain only
|
491
|
-
# letters (
|
599
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
492
600
|
# start with a letter or underscore. The maximum length is 128
|
493
601
|
# characters.
|
494
602
|
# @param [String] description A description of the field.
|
@@ -560,7 +668,14 @@ module Google
|
|
560
668
|
raise ArgumentError, "Cannot modify a frozen schema"
|
561
669
|
end
|
562
670
|
|
563
|
-
def add_field name,
|
671
|
+
def add_field name,
|
672
|
+
type,
|
673
|
+
description: nil,
|
674
|
+
mode: :nullable,
|
675
|
+
policy_tags: nil,
|
676
|
+
max_length: nil,
|
677
|
+
precision: nil,
|
678
|
+
scale: nil
|
564
679
|
frozen_check!
|
565
680
|
|
566
681
|
new_gapi = Google::Apis::BigqueryV2::TableFieldSchema.new(
|
@@ -570,7 +685,13 @@ module Google
|
|
570
685
|
mode: verify_mode(mode),
|
571
686
|
fields: []
|
572
687
|
)
|
573
|
-
|
688
|
+
if policy_tags
|
689
|
+
policy_tags = Array(policy_tags)
|
690
|
+
new_gapi.policy_tags = Google::Apis::BigqueryV2::TableFieldSchema::PolicyTags.new names: policy_tags
|
691
|
+
end
|
692
|
+
new_gapi.max_length = max_length if max_length
|
693
|
+
new_gapi.precision = precision if precision
|
694
|
+
new_gapi.scale = scale if scale
|
574
695
|
# Remove any existing field of this name
|
575
696
|
@gapi.fields ||= []
|
576
697
|
@gapi.fields.reject! { |f| f.name == new_gapi.name }
|
@@ -110,6 +110,7 @@ module Google
|
|
110
110
|
# | `BIGNUMERIC` | `String` | Pass as `String` to avoid rounding to scale 9. |
|
111
111
|
# | `DATETIME` | `DateTime` | `DATETIME` does not support time zone. |
|
112
112
|
# | `DATE` | `Date` | |
|
113
|
+
# | `GEOGRAPHY` | `String` | |
|
113
114
|
# | `TIMESTAMP` | `Time` | |
|
114
115
|
# | `TIME` | `Google::Cloud::BigQuery::Time` | |
|
115
116
|
# | `BYTES` | `File`, `IO`, `StringIO`, or similar | |
|
@@ -119,8 +119,8 @@ module Google
|
|
119
119
|
##
|
120
120
|
# A unique ID for this table.
|
121
121
|
#
|
122
|
-
# @return [String] The ID must contain only letters (
|
123
|
-
# (0-9), or underscores (_). The maximum length is 1,024 characters.
|
122
|
+
# @return [String] The ID must contain only letters (`[A-Za-z]`), numbers
|
123
|
+
# (`[0-9]`), or underscores (`_`). The maximum length is 1,024 characters.
|
124
124
|
#
|
125
125
|
# @!group Attributes
|
126
126
|
#
|
@@ -132,8 +132,8 @@ module Google
|
|
132
132
|
##
|
133
133
|
# The ID of the `Dataset` containing this table.
|
134
134
|
#
|
135
|
-
# @return [String] The ID must contain only letters (
|
136
|
-
# (0-9), or underscores (_). The maximum length is 1,024 characters.
|
135
|
+
# @return [String] The ID must contain only letters (`[A-Za-z]`), numbers
|
136
|
+
# (`[0-9]`), or underscores (`_`). The maximum length is 1,024 characters.
|
137
137
|
#
|
138
138
|
# @!group Attributes
|
139
139
|
#
|
@@ -1633,8 +1633,8 @@ module Google
|
|
1633
1633
|
# * `empty` - An error will be returned if the destination table
|
1634
1634
|
# already contains data.
|
1635
1635
|
# @param [String] job_id A user-defined ID for the copy job. The ID
|
1636
|
-
# must contain only letters (
|
1637
|
-
# (_), or dashes (
|
1636
|
+
# must contain only letters (`[A-Za-z]`), numbers (`[0-9]`), underscores
|
1637
|
+
# (`_`), or dashes (`-`). The maximum length is 1,024 characters. If
|
1638
1638
|
# `job_id` is provided, then `prefix` will not be used.
|
1639
1639
|
#
|
1640
1640
|
# See [Generating a job
|
@@ -1643,8 +1643,8 @@ module Google
|
|
1643
1643
|
# prepended to a generated value to produce a unique job ID. For
|
1644
1644
|
# example, the prefix `daily_import_job_` can be given to generate a
|
1645
1645
|
# job ID such as `daily_import_job_12vEDtMQ0mbp1Mo5Z7mzAFQJZazh`. The
|
1646
|
-
# prefix must contain only letters (
|
1647
|
-
# underscores (_), or dashes (
|
1646
|
+
# prefix must contain only letters (`[A-Za-z]`), numbers (`[0-9]`),
|
1647
|
+
# underscores (`_`), or dashes (`-`). The maximum length of the entire ID
|
1648
1648
|
# is 1,024 characters. If `job_id` is provided, then `prefix` will not
|
1649
1649
|
# be used.
|
1650
1650
|
# @param [Hash] labels A hash of user-provided labels associated with
|
@@ -1822,8 +1822,8 @@ module Google
|
|
1822
1822
|
# @param [Boolean] header Whether to print out a header row in the
|
1823
1823
|
# results. Default is `true`.
|
1824
1824
|
# @param [String] job_id A user-defined ID for the extract job. The ID
|
1825
|
-
# must contain only letters (
|
1826
|
-
# (_), or dashes (
|
1825
|
+
# must contain only letters (`[A-Za-z]`), numbers (`[0-9]`), underscores
|
1826
|
+
# (`_`), or dashes (`-`). The maximum length is 1,024 characters. If
|
1827
1827
|
# `job_id` is provided, then `prefix` will not be used.
|
1828
1828
|
#
|
1829
1829
|
# See [Generating a job
|
@@ -1832,8 +1832,8 @@ module Google
|
|
1832
1832
|
# prepended to a generated value to produce a unique job ID. For
|
1833
1833
|
# example, the prefix `daily_import_job_` can be given to generate a
|
1834
1834
|
# job ID such as `daily_import_job_12vEDtMQ0mbp1Mo5Z7mzAFQJZazh`. The
|
1835
|
-
# prefix must contain only letters (
|
1836
|
-
# underscores (_), or dashes (
|
1835
|
+
# prefix must contain only letters (`[A-Za-z]`), numbers (`[0-9]`),
|
1836
|
+
# underscores (`_`), or dashes (`-`). The maximum length of the entire ID
|
1837
1837
|
# is 1,024 characters. If `job_id` is provided, then `prefix` will not
|
1838
1838
|
# be used.
|
1839
1839
|
# @param [Hash] labels A hash of user-provided labels associated with
|
@@ -2070,8 +2070,8 @@ module Google
|
|
2070
2070
|
# value is `0`. This property is useful if you have header rows in the
|
2071
2071
|
# file that should be skipped.
|
2072
2072
|
# @param [String] job_id A user-defined ID for the load job. The ID
|
2073
|
-
# must contain only letters (
|
2074
|
-
# (_), or dashes (
|
2073
|
+
# must contain only letters (`[A-Za-z]`), numbers (`[0-9]`), underscores
|
2074
|
+
# (`_`), or dashes (`-`). The maximum length is 1,024 characters. If
|
2075
2075
|
# `job_id` is provided, then `prefix` will not be used.
|
2076
2076
|
#
|
2077
2077
|
# See [Generating a job
|
@@ -2080,8 +2080,8 @@ module Google
|
|
2080
2080
|
# prepended to a generated value to produce a unique job ID. For
|
2081
2081
|
# example, the prefix `daily_import_job_` can be given to generate a
|
2082
2082
|
# job ID such as `daily_import_job_12vEDtMQ0mbp1Mo5Z7mzAFQJZazh`. The
|
2083
|
-
# prefix must contain only letters (
|
2084
|
-
# underscores (_), or dashes (
|
2083
|
+
# prefix must contain only letters (`[A-Za-z]`), numbers (`[0-9]`),
|
2084
|
+
# underscores (`_`), or dashes (`-`). The maximum length of the entire ID
|
2085
2085
|
# is 1,024 characters. If `job_id` is provided, then `prefix` will not
|
2086
2086
|
# be used.
|
2087
2087
|
# @param [Hash] labels A hash of user-provided labels associated with
|
@@ -2369,12 +2369,15 @@ module Google
|
|
2369
2369
|
# | `BIGNUMERIC` | `String` | Pass as `String` to avoid rounding to scale 9. |
|
2370
2370
|
# | `DATETIME` | `DateTime` | `DATETIME` does not support time zone. |
|
2371
2371
|
# | `DATE` | `Date` | |
|
2372
|
+
# | `GEOGRAPHY` | `String` | Well-known text (WKT) or GeoJSON. |
|
2372
2373
|
# | `TIMESTAMP` | `Time` | |
|
2373
2374
|
# | `TIME` | `Google::Cloud::BigQuery::Time` | |
|
2374
2375
|
# | `BYTES` | `File`, `IO`, `StringIO`, or similar | |
|
2375
2376
|
# | `ARRAY` | `Array` | Nested arrays, `nil` values are not supported. |
|
2376
2377
|
# | `STRUCT` | `Hash` | Hash keys may be strings or symbols. |
|
2377
2378
|
#
|
2379
|
+
# For `GEOGRAPHY` data, see [Working with BigQuery GIS data](https://cloud.google.com/bigquery/docs/gis-data).
|
2380
|
+
#
|
2378
2381
|
# Because BigQuery's streaming API is designed for high insertion rates,
|
2379
2382
|
# modifications to the underlying table metadata are eventually
|
2380
2383
|
# consistent when interacting with the streaming system. In most cases
|
@@ -3231,13 +3234,19 @@ module Google
|
|
3231
3234
|
# See {Schema#string}.
|
3232
3235
|
#
|
3233
3236
|
# @param [String] name The field name. The name must contain only
|
3234
|
-
# letters (
|
3237
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
3235
3238
|
# start with a letter or underscore. The maximum length is 128
|
3236
3239
|
# characters.
|
3237
3240
|
# @param [String] description A description of the field.
|
3238
3241
|
# @param [Symbol] mode The field's mode. The possible values are
|
3239
3242
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
3240
3243
|
# `:nullable`.
|
3244
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
3245
|
+
# single policy tag for the field. Policy tag identifiers are of
|
3246
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
3247
|
+
# At most 1 policy tag is currently allowed.
|
3248
|
+
# @param [Integer] max_length The maximum UTF-8 length of strings
|
3249
|
+
# allowed in the field.
|
3241
3250
|
#
|
3242
3251
|
# @example
|
3243
3252
|
# require "google/cloud/bigquery"
|
@@ -3249,8 +3258,8 @@ module Google
|
|
3249
3258
|
# end
|
3250
3259
|
#
|
3251
3260
|
# @!group Schema
|
3252
|
-
def string name, description: nil, mode: :nullable
|
3253
|
-
schema.string name, description: description, mode: mode
|
3261
|
+
def string name, description: nil, mode: :nullable, policy_tags: nil, max_length: nil
|
3262
|
+
schema.string name, description: description, mode: mode, policy_tags: policy_tags, max_length: max_length
|
3254
3263
|
end
|
3255
3264
|
|
3256
3265
|
##
|
@@ -3259,13 +3268,17 @@ module Google
|
|
3259
3268
|
# See {Schema#integer}.
|
3260
3269
|
#
|
3261
3270
|
# @param [String] name The field name. The name must contain only
|
3262
|
-
# letters (
|
3271
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
3263
3272
|
# start with a letter or underscore. The maximum length is 128
|
3264
3273
|
# characters.
|
3265
3274
|
# @param [String] description A description of the field.
|
3266
3275
|
# @param [Symbol] mode The field's mode. The possible values are
|
3267
3276
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
3268
3277
|
# `:nullable`.
|
3278
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
3279
|
+
# single policy tag for the field. Policy tag identifiers are of
|
3280
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
3281
|
+
# At most 1 policy tag is currently allowed.
|
3269
3282
|
#
|
3270
3283
|
# @example
|
3271
3284
|
# require "google/cloud/bigquery"
|
@@ -3277,8 +3290,8 @@ module Google
|
|
3277
3290
|
# end
|
3278
3291
|
#
|
3279
3292
|
# @!group Schema
|
3280
|
-
def integer name, description: nil, mode: :nullable
|
3281
|
-
schema.integer name, description: description, mode: mode
|
3293
|
+
def integer name, description: nil, mode: :nullable, policy_tags: nil
|
3294
|
+
schema.integer name, description: description, mode: mode, policy_tags: policy_tags
|
3282
3295
|
end
|
3283
3296
|
|
3284
3297
|
##
|
@@ -3287,13 +3300,17 @@ module Google
|
|
3287
3300
|
# See {Schema#float}.
|
3288
3301
|
#
|
3289
3302
|
# @param [String] name The field name. The name must contain only
|
3290
|
-
# letters (
|
3303
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
3291
3304
|
# start with a letter or underscore. The maximum length is 128
|
3292
3305
|
# characters.
|
3293
3306
|
# @param [String] description A description of the field.
|
3294
3307
|
# @param [Symbol] mode The field's mode. The possible values are
|
3295
3308
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
3296
3309
|
# `:nullable`.
|
3310
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
3311
|
+
# single policy tag for the field. Policy tag identifiers are of
|
3312
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
3313
|
+
# At most 1 policy tag is currently allowed.
|
3297
3314
|
#
|
3298
3315
|
# @example
|
3299
3316
|
# require "google/cloud/bigquery"
|
@@ -3305,8 +3322,8 @@ module Google
|
|
3305
3322
|
# end
|
3306
3323
|
#
|
3307
3324
|
# @!group Schema
|
3308
|
-
def float name, description: nil, mode: :nullable
|
3309
|
-
schema.float name, description: description, mode: mode
|
3325
|
+
def float name, description: nil, mode: :nullable, policy_tags: nil
|
3326
|
+
schema.float name, description: description, mode: mode, policy_tags: policy_tags
|
3310
3327
|
end
|
3311
3328
|
|
3312
3329
|
##
|
@@ -3326,13 +3343,27 @@ module Google
|
|
3326
3343
|
# See {Schema#numeric}
|
3327
3344
|
#
|
3328
3345
|
# @param [String] name The field name. The name must contain only
|
3329
|
-
# letters (
|
3346
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
3330
3347
|
# start with a letter or underscore. The maximum length is 128
|
3331
3348
|
# characters.
|
3332
3349
|
# @param [String] description A description of the field.
|
3333
3350
|
# @param [Symbol] mode The field's mode. The possible values are
|
3334
3351
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
3335
3352
|
# `:nullable`.
|
3353
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
3354
|
+
# single policy tag for the field. Policy tag identifiers are of
|
3355
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
3356
|
+
# At most 1 policy tag is currently allowed.
|
3357
|
+
# @param [Integer] precision The precision (maximum number of total
|
3358
|
+
# digits) for the field. Acceptable values for precision must be:
|
3359
|
+
# `1 ≤ (precision - scale) ≤ 29`. Values for scale must be:
|
3360
|
+
# `0 ≤ scale ≤ 9`. If the scale value is set, the precision value
|
3361
|
+
# must be set as well.
|
3362
|
+
# @param [Integer] scale The scale (maximum number of digits in the
|
3363
|
+
# fractional part) for the field. Acceptable values for precision
|
3364
|
+
# must be: `1 ≤ (precision - scale) ≤ 29`. Values for scale must
|
3365
|
+
# be: `0 ≤ scale ≤ 9`. If the scale value is set, the precision
|
3366
|
+
# value must be set as well.
|
3336
3367
|
#
|
3337
3368
|
# @example
|
3338
3369
|
# require "google/cloud/bigquery"
|
@@ -3344,8 +3375,13 @@ module Google
|
|
3344
3375
|
# end
|
3345
3376
|
#
|
3346
3377
|
# @!group Schema
|
3347
|
-
def numeric name, description: nil, mode: :nullable
|
3348
|
-
schema.numeric name,
|
3378
|
+
def numeric name, description: nil, mode: :nullable, policy_tags: nil, precision: nil, scale: nil
|
3379
|
+
schema.numeric name,
|
3380
|
+
description: description,
|
3381
|
+
mode: mode,
|
3382
|
+
policy_tags: policy_tags,
|
3383
|
+
precision: precision,
|
3384
|
+
scale: scale
|
3349
3385
|
end
|
3350
3386
|
|
3351
3387
|
##
|
@@ -3365,13 +3401,27 @@ module Google
|
|
3365
3401
|
# See {Schema#bignumeric}
|
3366
3402
|
#
|
3367
3403
|
# @param [String] name The field name. The name must contain only
|
3368
|
-
# letters (
|
3404
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
3369
3405
|
# start with a letter or underscore. The maximum length is 128
|
3370
3406
|
# characters.
|
3371
3407
|
# @param [String] description A description of the field.
|
3372
3408
|
# @param [Symbol] mode The field's mode. The possible values are
|
3373
3409
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
3374
3410
|
# `:nullable`.
|
3411
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
3412
|
+
# single policy tag for the field. Policy tag identifiers are of
|
3413
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
3414
|
+
# At most 1 policy tag is currently allowed.
|
3415
|
+
# @param [Integer] precision The precision (maximum number of total
|
3416
|
+
# digits) for the field. Acceptable values for precision must be:
|
3417
|
+
# `1 ≤ (precision - scale) ≤ 38`. Values for scale must be:
|
3418
|
+
# `0 ≤ scale ≤ 38`. If the scale value is set, the precision value
|
3419
|
+
# must be set as well.
|
3420
|
+
# @param [Integer] scale The scale (maximum number of digits in the
|
3421
|
+
# fractional part) for the field. Acceptable values for precision
|
3422
|
+
# must be: `1 ≤ (precision - scale) ≤ 38`. Values for scale must
|
3423
|
+
# be: `0 ≤ scale ≤ 38`. If the scale value is set, the precision
|
3424
|
+
# value must be set as well.
|
3375
3425
|
#
|
3376
3426
|
# @example
|
3377
3427
|
# require "google/cloud/bigquery"
|
@@ -3383,8 +3433,13 @@ module Google
|
|
3383
3433
|
# end
|
3384
3434
|
#
|
3385
3435
|
# @!group Schema
|
3386
|
-
def bignumeric name, description: nil, mode: :nullable
|
3387
|
-
schema.bignumeric name,
|
3436
|
+
def bignumeric name, description: nil, mode: :nullable, policy_tags: nil, precision: nil, scale: nil
|
3437
|
+
schema.bignumeric name,
|
3438
|
+
description: description,
|
3439
|
+
mode: mode,
|
3440
|
+
policy_tags: policy_tags,
|
3441
|
+
precision: precision,
|
3442
|
+
scale: scale
|
3388
3443
|
end
|
3389
3444
|
|
3390
3445
|
##
|
@@ -3393,13 +3448,17 @@ module Google
|
|
3393
3448
|
# See {Schema#boolean}.
|
3394
3449
|
#
|
3395
3450
|
# @param [String] name The field name. The name must contain only
|
3396
|
-
# letters (
|
3451
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
3397
3452
|
# start with a letter or underscore. The maximum length is 128
|
3398
3453
|
# characters.
|
3399
3454
|
# @param [String] description A description of the field.
|
3400
3455
|
# @param [Symbol] mode The field's mode. The possible values are
|
3401
3456
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
3402
3457
|
# `:nullable`.
|
3458
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
3459
|
+
# single policy tag for the field. Policy tag identifiers are of
|
3460
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
3461
|
+
# At most 1 policy tag is currently allowed.
|
3403
3462
|
#
|
3404
3463
|
# @example
|
3405
3464
|
# require "google/cloud/bigquery"
|
@@ -3411,8 +3470,8 @@ module Google
|
|
3411
3470
|
# end
|
3412
3471
|
#
|
3413
3472
|
# @!group Schema
|
3414
|
-
def boolean name, description: nil, mode: :nullable
|
3415
|
-
schema.boolean name, description: description, mode: mode
|
3473
|
+
def boolean name, description: nil, mode: :nullable, policy_tags: nil
|
3474
|
+
schema.boolean name, description: description, mode: mode, policy_tags: policy_tags
|
3416
3475
|
end
|
3417
3476
|
|
3418
3477
|
##
|
@@ -3421,13 +3480,19 @@ module Google
|
|
3421
3480
|
# See {Schema#bytes}.
|
3422
3481
|
#
|
3423
3482
|
# @param [String] name The field name. The name must contain only
|
3424
|
-
# letters (
|
3483
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
3425
3484
|
# start with a letter or underscore. The maximum length is 128
|
3426
3485
|
# characters.
|
3427
3486
|
# @param [String] description A description of the field.
|
3428
3487
|
# @param [Symbol] mode The field's mode. The possible values are
|
3429
3488
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
3430
3489
|
# `:nullable`.
|
3490
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
3491
|
+
# single policy tag for the field. Policy tag identifiers are of
|
3492
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
3493
|
+
# At most 1 policy tag is currently allowed.
|
3494
|
+
# @param [Integer] max_length The maximum the maximum number of
|
3495
|
+
# bytes in the field.
|
3431
3496
|
#
|
3432
3497
|
# @example
|
3433
3498
|
# require "google/cloud/bigquery"
|
@@ -3439,8 +3504,8 @@ module Google
|
|
3439
3504
|
# end
|
3440
3505
|
#
|
3441
3506
|
# @!group Schema
|
3442
|
-
def bytes name, description: nil, mode: :nullable
|
3443
|
-
schema.bytes name, description: description, mode: mode
|
3507
|
+
def bytes name, description: nil, mode: :nullable, policy_tags: nil, max_length: nil
|
3508
|
+
schema.bytes name, description: description, mode: mode, policy_tags: policy_tags, max_length: max_length
|
3444
3509
|
end
|
3445
3510
|
|
3446
3511
|
##
|
@@ -3449,13 +3514,17 @@ module Google
|
|
3449
3514
|
# See {Schema#timestamp}.
|
3450
3515
|
#
|
3451
3516
|
# @param [String] name The field name. The name must contain only
|
3452
|
-
# letters (
|
3517
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
3453
3518
|
# start with a letter or underscore. The maximum length is 128
|
3454
3519
|
# characters.
|
3455
3520
|
# @param [String] description A description of the field.
|
3456
3521
|
# @param [Symbol] mode The field's mode. The possible values are
|
3457
3522
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
3458
3523
|
# `:nullable`.
|
3524
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
3525
|
+
# single policy tag for the field. Policy tag identifiers are of
|
3526
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
3527
|
+
# At most 1 policy tag is currently allowed.
|
3459
3528
|
#
|
3460
3529
|
# @example
|
3461
3530
|
# require "google/cloud/bigquery"
|
@@ -3467,8 +3536,8 @@ module Google
|
|
3467
3536
|
# end
|
3468
3537
|
#
|
3469
3538
|
# @!group Schema
|
3470
|
-
def timestamp name, description: nil, mode: :nullable
|
3471
|
-
schema.timestamp name, description: description, mode: mode
|
3539
|
+
def timestamp name, description: nil, mode: :nullable, policy_tags: nil
|
3540
|
+
schema.timestamp name, description: description, mode: mode, policy_tags: policy_tags
|
3472
3541
|
end
|
3473
3542
|
|
3474
3543
|
##
|
@@ -3477,13 +3546,17 @@ module Google
|
|
3477
3546
|
# See {Schema#time}.
|
3478
3547
|
#
|
3479
3548
|
# @param [String] name The field name. The name must contain only
|
3480
|
-
# letters (
|
3549
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
3481
3550
|
# start with a letter or underscore. The maximum length is 128
|
3482
3551
|
# characters.
|
3483
3552
|
# @param [String] description A description of the field.
|
3484
3553
|
# @param [Symbol] mode The field's mode. The possible values are
|
3485
3554
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
3486
3555
|
# `:nullable`.
|
3556
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
3557
|
+
# single policy tag for the field. Policy tag identifiers are of
|
3558
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
3559
|
+
# At most 1 policy tag is currently allowed.
|
3487
3560
|
#
|
3488
3561
|
# @example
|
3489
3562
|
# require "google/cloud/bigquery"
|
@@ -3495,8 +3568,8 @@ module Google
|
|
3495
3568
|
# end
|
3496
3569
|
#
|
3497
3570
|
# @!group Schema
|
3498
|
-
def time name, description: nil, mode: :nullable
|
3499
|
-
schema.time name, description: description, mode: mode
|
3571
|
+
def time name, description: nil, mode: :nullable, policy_tags: nil
|
3572
|
+
schema.time name, description: description, mode: mode, policy_tags: policy_tags
|
3500
3573
|
end
|
3501
3574
|
|
3502
3575
|
##
|
@@ -3505,13 +3578,17 @@ module Google
|
|
3505
3578
|
# See {Schema#datetime}.
|
3506
3579
|
#
|
3507
3580
|
# @param [String] name The field name. The name must contain only
|
3508
|
-
# letters (
|
3581
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
3509
3582
|
# start with a letter or underscore. The maximum length is 128
|
3510
3583
|
# characters.
|
3511
3584
|
# @param [String] description A description of the field.
|
3512
3585
|
# @param [Symbol] mode The field's mode. The possible values are
|
3513
3586
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
3514
3587
|
# `:nullable`.
|
3588
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
3589
|
+
# single policy tag for the field. Policy tag identifiers are of
|
3590
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
3591
|
+
# At most 1 policy tag is currently allowed.
|
3515
3592
|
#
|
3516
3593
|
# @example
|
3517
3594
|
# require "google/cloud/bigquery"
|
@@ -3523,8 +3600,8 @@ module Google
|
|
3523
3600
|
# end
|
3524
3601
|
#
|
3525
3602
|
# @!group Schema
|
3526
|
-
def datetime name, description: nil, mode: :nullable
|
3527
|
-
schema.datetime name, description: description, mode: mode
|
3603
|
+
def datetime name, description: nil, mode: :nullable, policy_tags: nil
|
3604
|
+
schema.datetime name, description: description, mode: mode, policy_tags: policy_tags
|
3528
3605
|
end
|
3529
3606
|
|
3530
3607
|
##
|
@@ -3533,13 +3610,17 @@ module Google
|
|
3533
3610
|
# See {Schema#date}.
|
3534
3611
|
#
|
3535
3612
|
# @param [String] name The field name. The name must contain only
|
3536
|
-
# letters (
|
3613
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
3537
3614
|
# start with a letter or underscore. The maximum length is 128
|
3538
3615
|
# characters.
|
3539
3616
|
# @param [String] description A description of the field.
|
3540
3617
|
# @param [Symbol] mode The field's mode. The possible values are
|
3541
3618
|
# `:nullable`, `:required`, and `:repeated`. The default value is
|
3542
3619
|
# `:nullable`.
|
3620
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
3621
|
+
# single policy tag for the field. Policy tag identifiers are of
|
3622
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
3623
|
+
# At most 1 policy tag is currently allowed.
|
3543
3624
|
#
|
3544
3625
|
# @example
|
3545
3626
|
# require "google/cloud/bigquery"
|
@@ -3551,8 +3632,39 @@ module Google
|
|
3551
3632
|
# end
|
3552
3633
|
#
|
3553
3634
|
# @!group Schema
|
3554
|
-
def date name, description: nil, mode: :nullable
|
3555
|
-
schema.date name, description: description, mode: mode
|
3635
|
+
def date name, description: nil, mode: :nullable, policy_tags: nil
|
3636
|
+
schema.date name, description: description, mode: mode, policy_tags: policy_tags
|
3637
|
+
end
|
3638
|
+
|
3639
|
+
##
|
3640
|
+
# Adds a geography field to the schema.
|
3641
|
+
#
|
3642
|
+
# @see https://cloud.google.com/bigquery/docs/gis-data Working with BigQuery GIS data
|
3643
|
+
#
|
3644
|
+
# @param [String] name The field name. The name must contain only
|
3645
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
3646
|
+
# start with a letter or underscore. The maximum length is 128
|
3647
|
+
# characters.
|
3648
|
+
# @param [String] description A description of the field.
|
3649
|
+
# @param [Symbol] mode The field's mode. The possible values are
|
3650
|
+
# `:nullable`, `:required`, and `:repeated`. The default value is
|
3651
|
+
# `:nullable`.
|
3652
|
+
# @param [Array<String>, String] policy_tags The policy tag list or
|
3653
|
+
# single policy tag for the field. Policy tag identifiers are of
|
3654
|
+
# the form `projects/*/locations/*/taxonomies/*/policyTags/*`.
|
3655
|
+
# At most 1 policy tag is currently allowed.
|
3656
|
+
#
|
3657
|
+
# @example
|
3658
|
+
# require "google/cloud/bigquery"
|
3659
|
+
#
|
3660
|
+
# bigquery = Google::Cloud::Bigquery.new
|
3661
|
+
# dataset = bigquery.dataset "my_dataset"
|
3662
|
+
# table = dataset.create_table "my_table" do |schema|
|
3663
|
+
# schema.geography "home", mode: :required
|
3664
|
+
# end
|
3665
|
+
#
|
3666
|
+
def geography name, description: nil, mode: :nullable, policy_tags: nil
|
3667
|
+
schema.geography name, description: description, mode: mode, policy_tags: policy_tags
|
3556
3668
|
end
|
3557
3669
|
|
3558
3670
|
##
|
@@ -3565,7 +3677,7 @@ module Google
|
|
3565
3677
|
# See {Schema#record}.
|
3566
3678
|
#
|
3567
3679
|
# @param [String] name The field name. The name must contain only
|
3568
|
-
# letters (
|
3680
|
+
# letters (`[A-Za-z]`), numbers (`[0-9]`), or underscores (`_`), and must
|
3569
3681
|
# start with a letter or underscore. The maximum length is 128
|
3570
3682
|
# characters.
|
3571
3683
|
# @param [String] description A description of the field.
|