google-cloud-bigquery 1.23.0 → 1.24.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/lib/google/cloud/bigquery/dataset/access.rb +183 -4
- data/lib/google/cloud/bigquery/load_job.rb +6 -4
- data/lib/google/cloud/bigquery/query_job.rb +8 -4
- data/lib/google/cloud/bigquery/service.rb +2 -0
- data/lib/google/cloud/bigquery/table.rb +9 -5
- data/lib/google/cloud/bigquery/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32f4b672ccecbbd45bfb9790fc4110a22244a6459c459aa40bb1c1b4b77c1094
|
4
|
+
data.tar.gz: 2ac69379fefad5547aac47be509a50945af647d7fe7b61e1653fc4dd9c9ca865
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9362e5d687de750ecdbdcbb131739116d3571c58db900fdf4748b6ce480f120670fce8901a8a9cfe83ddd53bbfd5e7866e396caff66e2151dc36a22dbabc3e7f
|
7
|
+
data.tar.gz: f08197d575142c5c5c16ba4c09e9d96af5ccb5e92fd9b0c11b87fe8431a0cac72bc2462e57ec6080a8c2d8c45b2f92b25a908cdbab35c3116e33f41b46b82559
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,21 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
+
### 1.24.0 / 2020-10-29
|
4
|
+
|
5
|
+
#### Features
|
6
|
+
|
7
|
+
* Add iamMember to Dataset::Access
|
8
|
+
|
9
|
+
#### Bug Fixes
|
10
|
+
|
11
|
+
* Ensure dense encoding of JSON responses
|
12
|
+
* Set query param prettyPrint=false for all requests.
|
13
|
+
* Upgrade google-api-client to ~> 0.47
|
14
|
+
|
15
|
+
#### Documentation
|
16
|
+
|
17
|
+
* Update supported types for time partition type
|
18
|
+
|
3
19
|
### 1.23.0 / 2020-09-17
|
4
20
|
|
5
21
|
#### Features
|
@@ -48,16 +48,18 @@ module Google
|
|
48
48
|
|
49
49
|
# @private
|
50
50
|
SCOPES = {
|
51
|
-
"
|
52
|
-
"user_by_email" => :user_by_email,
|
53
|
-
"userByEmail" => :user_by_email,
|
51
|
+
"domain" => :domain,
|
54
52
|
"group" => :group_by_email,
|
55
53
|
"group_by_email" => :group_by_email,
|
56
54
|
"groupByEmail" => :group_by_email,
|
57
|
-
"
|
55
|
+
"iam_member" => :iam_member,
|
56
|
+
"iamMember" => :iam_member,
|
58
57
|
"special" => :special_group,
|
59
58
|
"special_group" => :special_group,
|
60
59
|
"specialGroup" => :special_group,
|
60
|
+
"user" => :user_by_email,
|
61
|
+
"user_by_email" => :user_by_email,
|
62
|
+
"userByEmail" => :user_by_email,
|
61
63
|
"view" => :view
|
62
64
|
}.freeze
|
63
65
|
|
@@ -150,6 +152,26 @@ module Google
|
|
150
152
|
add_access_role_scope_value :reader, :group, email
|
151
153
|
end
|
152
154
|
|
155
|
+
##
|
156
|
+
# Add reader access to some other type of member that appears in the IAM
|
157
|
+
# Policy but isn't a user, group, domain, or special group.
|
158
|
+
#
|
159
|
+
# @param [String] identity The identity reference.
|
160
|
+
#
|
161
|
+
# @example
|
162
|
+
# require "google/cloud/bigquery"
|
163
|
+
#
|
164
|
+
# bigquery = Google::Cloud::Bigquery.new
|
165
|
+
# dataset = bigquery.dataset "my_dataset"
|
166
|
+
#
|
167
|
+
# dataset.access do |access|
|
168
|
+
# access.add_reader_iam_member "entity@example.com"
|
169
|
+
# end
|
170
|
+
#
|
171
|
+
def add_reader_iam_member identity
|
172
|
+
add_access_role_scope_value :reader, :iam_member, identity
|
173
|
+
end
|
174
|
+
|
153
175
|
##
|
154
176
|
# Add reader access to a domain.
|
155
177
|
#
|
@@ -255,6 +277,26 @@ module Google
|
|
255
277
|
add_access_role_scope_value :writer, :group, email
|
256
278
|
end
|
257
279
|
|
280
|
+
##
|
281
|
+
# Add writer access to some other type of member that appears in the IAM
|
282
|
+
# Policy but isn't a user, group, domain, or special group.
|
283
|
+
#
|
284
|
+
# @param [String] identity The identity reference.
|
285
|
+
#
|
286
|
+
# @example
|
287
|
+
# require "google/cloud/bigquery"
|
288
|
+
#
|
289
|
+
# bigquery = Google::Cloud::Bigquery.new
|
290
|
+
# dataset = bigquery.dataset "my_dataset"
|
291
|
+
#
|
292
|
+
# dataset.access do |access|
|
293
|
+
# access.add_writer_iam_member "entity@example.com"
|
294
|
+
# end
|
295
|
+
#
|
296
|
+
def add_writer_iam_member identity
|
297
|
+
add_access_role_scope_value :writer, :iam_member, identity
|
298
|
+
end
|
299
|
+
|
258
300
|
##
|
259
301
|
# Add writer access to a domain.
|
260
302
|
#
|
@@ -333,6 +375,26 @@ module Google
|
|
333
375
|
add_access_role_scope_value :owner, :group, email
|
334
376
|
end
|
335
377
|
|
378
|
+
##
|
379
|
+
# Add owner access to some other type of member that appears in the IAM
|
380
|
+
# Policy but isn't a user, group, domain, or special group.
|
381
|
+
#
|
382
|
+
# @param [String] identity The identity reference.
|
383
|
+
#
|
384
|
+
# @example
|
385
|
+
# require "google/cloud/bigquery"
|
386
|
+
#
|
387
|
+
# bigquery = Google::Cloud::Bigquery.new
|
388
|
+
# dataset = bigquery.dataset "my_dataset"
|
389
|
+
#
|
390
|
+
# dataset.access do |access|
|
391
|
+
# access.add_owner_iam_member "entity@example.com"
|
392
|
+
# end
|
393
|
+
#
|
394
|
+
def add_owner_iam_member identity
|
395
|
+
add_access_role_scope_value :owner, :iam_member, identity
|
396
|
+
end
|
397
|
+
|
336
398
|
##
|
337
399
|
# Add owner access to a domain.
|
338
400
|
#
|
@@ -411,6 +473,26 @@ module Google
|
|
411
473
|
remove_access_role_scope_value :reader, :group, email
|
412
474
|
end
|
413
475
|
|
476
|
+
##
|
477
|
+
# Remove reader access from some other type of member that appears in the IAM
|
478
|
+
# Policy but isn't a user, group, domain, or special group.
|
479
|
+
#
|
480
|
+
# @param [String] identity The identity reference.
|
481
|
+
#
|
482
|
+
# @example
|
483
|
+
# require "google/cloud/bigquery"
|
484
|
+
#
|
485
|
+
# bigquery = Google::Cloud::Bigquery.new
|
486
|
+
# dataset = bigquery.dataset "my_dataset"
|
487
|
+
#
|
488
|
+
# dataset.access do |access|
|
489
|
+
# access.remove_reader_iam_member "entity@example.com"
|
490
|
+
# end
|
491
|
+
#
|
492
|
+
def remove_reader_iam_member identity
|
493
|
+
remove_access_role_scope_value :reader, :iam_member, identity
|
494
|
+
end
|
495
|
+
|
414
496
|
##
|
415
497
|
# Remove reader access from a domain.
|
416
498
|
#
|
@@ -516,6 +598,26 @@ module Google
|
|
516
598
|
remove_access_role_scope_value :writer, :group, email
|
517
599
|
end
|
518
600
|
|
601
|
+
##
|
602
|
+
# Remove writer access from some other type of member that appears in the IAM
|
603
|
+
# Policy but isn't a user, group, domain, or special group.
|
604
|
+
#
|
605
|
+
# @param [String] identity The identity reference.
|
606
|
+
#
|
607
|
+
# @example
|
608
|
+
# require "google/cloud/bigquery"
|
609
|
+
#
|
610
|
+
# bigquery = Google::Cloud::Bigquery.new
|
611
|
+
# dataset = bigquery.dataset "my_dataset"
|
612
|
+
#
|
613
|
+
# dataset.access do |access|
|
614
|
+
# access.remove_writer_iam_member "entity@example.com"
|
615
|
+
# end
|
616
|
+
#
|
617
|
+
def remove_writer_iam_member identity
|
618
|
+
remove_access_role_scope_value :writer, :iam_member, identity
|
619
|
+
end
|
620
|
+
|
519
621
|
##
|
520
622
|
# Remove writer access from a domain.
|
521
623
|
#
|
@@ -594,6 +696,26 @@ module Google
|
|
594
696
|
remove_access_role_scope_value :owner, :group, email
|
595
697
|
end
|
596
698
|
|
699
|
+
##
|
700
|
+
# Remove owner access from some other type of member that appears in the IAM
|
701
|
+
# Policy but isn't a user, group, domain, or special group.
|
702
|
+
#
|
703
|
+
# @param [String] identity The identity reference.
|
704
|
+
#
|
705
|
+
# @example
|
706
|
+
# require "google/cloud/bigquery"
|
707
|
+
#
|
708
|
+
# bigquery = Google::Cloud::Bigquery.new
|
709
|
+
# dataset = bigquery.dataset "my_dataset"
|
710
|
+
#
|
711
|
+
# dataset.access do |access|
|
712
|
+
# access.remove_owner_iam_member "entity@example.com"
|
713
|
+
# end
|
714
|
+
#
|
715
|
+
def remove_owner_iam_member identity
|
716
|
+
remove_access_role_scope_value :owner, :iam_member, identity
|
717
|
+
end
|
718
|
+
|
597
719
|
##
|
598
720
|
# Remove owner access from a domain.
|
599
721
|
#
|
@@ -670,6 +792,25 @@ module Google
|
|
670
792
|
lookup_access_role_scope_value :reader, :group, email
|
671
793
|
end
|
672
794
|
|
795
|
+
##
|
796
|
+
# Checks reader access for some other type of member that appears in the IAM
|
797
|
+
# Policy but isn't a user, group, domain, or special group.
|
798
|
+
#
|
799
|
+
# @param [String] identity The identity reference.
|
800
|
+
#
|
801
|
+
# @example
|
802
|
+
# require "google/cloud/bigquery"
|
803
|
+
#
|
804
|
+
# bigquery = Google::Cloud::Bigquery.new
|
805
|
+
# dataset = bigquery.dataset "my_dataset"
|
806
|
+
#
|
807
|
+
# access = dataset.access
|
808
|
+
# access.reader_iam_member? "entity@example.com" #=> false
|
809
|
+
#
|
810
|
+
def reader_iam_member? identity
|
811
|
+
lookup_access_role_scope_value :reader, :iam_member, identity
|
812
|
+
end
|
813
|
+
|
673
814
|
##
|
674
815
|
# Checks reader access for a domain.
|
675
816
|
#
|
@@ -770,6 +911,25 @@ module Google
|
|
770
911
|
lookup_access_role_scope_value :writer, :group, email
|
771
912
|
end
|
772
913
|
|
914
|
+
##
|
915
|
+
# Checks writer access for some other type of member that appears in the IAM
|
916
|
+
# Policy but isn't a user, group, domain, or special group.
|
917
|
+
#
|
918
|
+
# @param [String] identity The identity reference.
|
919
|
+
#
|
920
|
+
# @example
|
921
|
+
# require "google/cloud/bigquery"
|
922
|
+
#
|
923
|
+
# bigquery = Google::Cloud::Bigquery.new
|
924
|
+
# dataset = bigquery.dataset "my_dataset"
|
925
|
+
#
|
926
|
+
# access = dataset.access
|
927
|
+
# access.writer_iam_member? "entity@example.com" #=> false
|
928
|
+
#
|
929
|
+
def writer_iam_member? identity
|
930
|
+
lookup_access_role_scope_value :writer, :iam_member, identity
|
931
|
+
end
|
932
|
+
|
773
933
|
##
|
774
934
|
# Checks writer access for a domain.
|
775
935
|
#
|
@@ -844,6 +1004,25 @@ module Google
|
|
844
1004
|
lookup_access_role_scope_value :owner, :group, email
|
845
1005
|
end
|
846
1006
|
|
1007
|
+
##
|
1008
|
+
# Checks owner access for some other type of member that appears in the IAM
|
1009
|
+
# Policy but isn't a user, group, domain, or special group.
|
1010
|
+
#
|
1011
|
+
# @param [String] identity The identity reference.
|
1012
|
+
#
|
1013
|
+
# @example
|
1014
|
+
# require "google/cloud/bigquery"
|
1015
|
+
#
|
1016
|
+
# bigquery = Google::Cloud::Bigquery.new
|
1017
|
+
# dataset = bigquery.dataset "my_dataset"
|
1018
|
+
#
|
1019
|
+
# access = dataset.access
|
1020
|
+
# access.owner_iam_member? "entity@example.com" #=> false
|
1021
|
+
#
|
1022
|
+
def owner_iam_member? identity
|
1023
|
+
lookup_access_role_scope_value :owner, :iam_member, identity
|
1024
|
+
end
|
1025
|
+
|
847
1026
|
##
|
848
1027
|
# Checks owner access for a domain.
|
849
1028
|
#
|
@@ -428,8 +428,9 @@ module Google
|
|
428
428
|
# The period for which the destination table will be time partitioned, if
|
429
429
|
# any. See [Partitioned Tables](https://cloud.google.com/bigquery/docs/partitioned-tables).
|
430
430
|
#
|
431
|
-
# @return [String, nil] The time partition type.
|
432
|
-
#
|
431
|
+
# @return [String, nil] The time partition type. The supported types are `DAY`,
|
432
|
+
# `HOUR`, `MONTH`, and `YEAR`, which will generate one partition per day,
|
433
|
+
# hour, month, and year, respectively; or `nil` if not present.
|
433
434
|
#
|
434
435
|
# @!group Attributes
|
435
436
|
#
|
@@ -1499,8 +1500,9 @@ module Google
|
|
1499
1500
|
# BigQuery does not allow you to change partitioning on an existing
|
1500
1501
|
# table.
|
1501
1502
|
#
|
1502
|
-
# @param [String] type The time partition type.
|
1503
|
-
#
|
1503
|
+
# @param [String] type The time partition type. The supported types are `DAY`,
|
1504
|
+
# `HOUR`, `MONTH`, and `YEAR`, which will generate one partition per day,
|
1505
|
+
# hour, month, and year, respectively.
|
1504
1506
|
#
|
1505
1507
|
# @example
|
1506
1508
|
# require "google/cloud/bigquery"
|
@@ -528,8 +528,9 @@ module Google
|
|
528
528
|
# The period for which the destination table will be partitioned, if
|
529
529
|
# any. See [Partitioned Tables](https://cloud.google.com/bigquery/docs/partitioned-tables).
|
530
530
|
#
|
531
|
-
# @return [String, nil] The partition type.
|
532
|
-
#
|
531
|
+
# @return [String, nil] The partition type. The supported types are `DAY`,
|
532
|
+
# `HOUR`, `MONTH`, and `YEAR`, which will generate one partition per day,
|
533
|
+
# hour, month, and year, respectively; or `nil` if not present.
|
533
534
|
#
|
534
535
|
# @!group Attributes
|
535
536
|
#
|
@@ -1302,13 +1303,16 @@ module Google
|
|
1302
1303
|
##
|
1303
1304
|
# Sets the partitioning for the destination table. See [Partitioned
|
1304
1305
|
# Tables](https://cloud.google.com/bigquery/docs/partitioned-tables).
|
1306
|
+
# The supported types are `DAY`, `HOUR`, `MONTH`, and `YEAR`, which will
|
1307
|
+
# generate one partition per day, hour, month, and year, respectively.
|
1305
1308
|
#
|
1306
1309
|
# You can only set the partitioning field while creating a table.
|
1307
1310
|
# BigQuery does not allow you to change partitioning on an existing
|
1308
1311
|
# table.
|
1309
1312
|
#
|
1310
|
-
# @param [String] type The partition type.
|
1311
|
-
#
|
1313
|
+
# @param [String] type The partition type. The supported types are `DAY`,
|
1314
|
+
# `HOUR`, `MONTH`, and `YEAR`, which will generate one partition per day,
|
1315
|
+
# hour, month, and year, respectively.
|
1312
1316
|
#
|
1313
1317
|
# @example
|
1314
1318
|
# require "google/cloud/bigquery"
|
@@ -65,6 +65,8 @@ module Google
|
|
65
65
|
service.request_options.header ||= {}
|
66
66
|
service.request_options.header["x-goog-api-client"] = \
|
67
67
|
"gl-ruby/#{RUBY_VERSION} gccl/#{Google::Cloud::Bigquery::VERSION}"
|
68
|
+
service.request_options.query ||= {}
|
69
|
+
service.request_options.query["prettyPrint"] = false
|
68
70
|
service.request_options.quota_project = @quota_project if @quota_project
|
69
71
|
service.authorization = @credentials.client
|
70
72
|
service.root_url = host if host
|
@@ -250,9 +250,10 @@ module Google
|
|
250
250
|
# The period for which the table is time partitioned, if any. See
|
251
251
|
# [Partitioned Tables](https://cloud.google.com/bigquery/docs/partitioned-tables).
|
252
252
|
#
|
253
|
-
# @return [String, nil] The time partition type.
|
254
|
-
#
|
255
|
-
#
|
253
|
+
# @return [String, nil] The time partition type. The supported types are `DAY`,
|
254
|
+
# `HOUR`, `MONTH`, and `YEAR`, which will generate one partition per day,
|
255
|
+
# hour, month, and year, respectively; or `nil` if not set or the object is a
|
256
|
+
# reference (see {#reference?}).
|
256
257
|
#
|
257
258
|
# @!group Attributes
|
258
259
|
#
|
@@ -265,13 +266,16 @@ module Google
|
|
265
266
|
##
|
266
267
|
# Sets the time partitioning type for the table. See [Partitioned
|
267
268
|
# Tables](https://cloud.google.com/bigquery/docs/partitioned-tables).
|
269
|
+
# The supported types are `DAY`, `HOUR`, `MONTH`, and `YEAR`, which will
|
270
|
+
# generate one partition per day, hour, month, and year, respectively.
|
268
271
|
#
|
269
272
|
# You can only set time partitioning when creating a table as in
|
270
273
|
# the example below. BigQuery does not allow you to change time partitioning
|
271
274
|
# on an existing table.
|
272
275
|
#
|
273
|
-
# @param [String] type The time partition type.
|
274
|
-
#
|
276
|
+
# @param [String] type The time partition type. The supported types are `DAY`,
|
277
|
+
# `HOUR`, `MONTH`, and `YEAR`, which will generate one partition per day,
|
278
|
+
# hour, month, and year, respectively.
|
275
279
|
#
|
276
280
|
# @example
|
277
281
|
# require "google/cloud/bigquery"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-bigquery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.24.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Moore
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-
|
12
|
+
date: 2020-10-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: concurrent-ruby
|
@@ -31,14 +31,14 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '0.
|
34
|
+
version: '0.47'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '0.
|
41
|
+
version: '0.47'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: google-cloud-core
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|