gcloud 0.6.3 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/AUTHENTICATION.md +13 -9
- data/CHANGELOG.md +8 -3
- data/OVERVIEW.md +46 -8
- data/lib/gcloud.rb +123 -117
- data/lib/gcloud/backoff.rb +43 -15
- data/lib/gcloud/bigquery.rb +211 -195
- data/lib/gcloud/bigquery/connection.rb +9 -9
- data/lib/gcloud/bigquery/copy_job.rb +15 -16
- data/lib/gcloud/bigquery/credentials.rb +3 -3
- data/lib/gcloud/bigquery/data.rb +12 -11
- data/lib/gcloud/bigquery/dataset.rb +162 -216
- data/lib/gcloud/bigquery/dataset/access.rb +59 -43
- data/lib/gcloud/bigquery/dataset/list.rb +3 -3
- data/lib/gcloud/bigquery/errors.rb +9 -5
- data/lib/gcloud/bigquery/extract_job.rb +18 -18
- data/lib/gcloud/bigquery/insert_response.rb +7 -4
- data/lib/gcloud/bigquery/job.rb +48 -44
- data/lib/gcloud/bigquery/job/list.rb +3 -3
- data/lib/gcloud/bigquery/load_job.rb +24 -25
- data/lib/gcloud/bigquery/project.rb +145 -204
- data/lib/gcloud/bigquery/query_data.rb +10 -9
- data/lib/gcloud/bigquery/query_job.rb +23 -32
- data/lib/gcloud/bigquery/table.rb +238 -280
- data/lib/gcloud/bigquery/table/list.rb +3 -3
- data/lib/gcloud/bigquery/table/schema.rb +79 -87
- data/lib/gcloud/bigquery/view.rb +69 -82
- data/lib/gcloud/credentials.rb +3 -9
- data/lib/gcloud/datastore.rb +194 -170
- data/lib/gcloud/datastore/connection.rb +12 -8
- data/lib/gcloud/datastore/credentials.rb +6 -4
- data/lib/gcloud/datastore/dataset.rb +74 -141
- data/lib/gcloud/datastore/dataset/lookup_results.rb +6 -4
- data/lib/gcloud/datastore/dataset/query_results.rb +6 -4
- data/lib/gcloud/datastore/entity.rb +81 -76
- data/lib/gcloud/datastore/errors.rb +10 -8
- data/lib/gcloud/datastore/key.rb +41 -77
- data/lib/gcloud/datastore/properties.rb +3 -3
- data/lib/gcloud/datastore/proto.rb +7 -4
- data/lib/gcloud/datastore/query.rb +26 -3
- data/lib/gcloud/datastore/transaction.rb +12 -8
- data/lib/gcloud/dns.rb +180 -152
- data/lib/gcloud/dns/change.rb +16 -16
- data/lib/gcloud/dns/change/list.rb +3 -3
- data/lib/gcloud/dns/connection.rb +9 -10
- data/lib/gcloud/dns/credentials.rb +3 -3
- data/lib/gcloud/dns/errors.rb +9 -5
- data/lib/gcloud/dns/importer.rb +17 -23
- data/lib/gcloud/dns/project.rb +42 -64
- data/lib/gcloud/dns/record.rb +58 -46
- data/lib/gcloud/dns/record/list.rb +6 -7
- data/lib/gcloud/dns/zone.rb +198 -289
- data/lib/gcloud/dns/zone/list.rb +3 -3
- data/lib/gcloud/dns/zone/transaction.rb +56 -72
- data/lib/gcloud/errors.rb +174 -3
- data/lib/gcloud/gce.rb +3 -4
- data/lib/gcloud/grpc_utils.rb +76 -0
- data/lib/gcloud/logging.rb +308 -0
- data/lib/gcloud/logging/credentials.rb +29 -0
- data/lib/gcloud/logging/entry.rb +303 -0
- data/lib/gcloud/logging/entry/http_request.rb +141 -0
- data/lib/gcloud/logging/entry/list.rb +111 -0
- data/lib/gcloud/logging/entry/operation.rb +90 -0
- data/lib/gcloud/logging/logger.rb +307 -0
- data/lib/gcloud/logging/metric.rb +175 -0
- data/lib/gcloud/logging/metric/list.rb +98 -0
- data/lib/gcloud/logging/project.rb +650 -0
- data/lib/gcloud/logging/resource.rb +95 -0
- data/lib/gcloud/logging/resource_descriptor.rb +140 -0
- data/lib/gcloud/logging/resource_descriptor/list.rb +78 -0
- data/lib/gcloud/logging/service.rb +258 -0
- data/lib/gcloud/logging/sink.rb +233 -0
- data/lib/gcloud/logging/sink/list.rb +97 -0
- data/lib/gcloud/pubsub.rb +241 -199
- data/lib/gcloud/pubsub/credentials.rb +3 -3
- data/lib/gcloud/pubsub/message.rb +26 -20
- data/lib/gcloud/pubsub/project.rb +166 -233
- data/lib/gcloud/pubsub/received_message.rb +28 -38
- data/lib/gcloud/pubsub/service.rb +323 -0
- data/lib/gcloud/pubsub/subscription.rb +172 -242
- data/lib/gcloud/pubsub/subscription/list.rb +11 -9
- data/lib/gcloud/pubsub/topic.rb +152 -271
- data/lib/gcloud/pubsub/topic/batch.rb +66 -0
- data/lib/gcloud/pubsub/topic/list.rb +9 -7
- data/lib/gcloud/resource_manager.rb +158 -138
- data/lib/gcloud/resource_manager/connection.rb +6 -5
- data/lib/gcloud/resource_manager/credentials.rb +3 -3
- data/lib/gcloud/resource_manager/errors.rb +9 -5
- data/lib/gcloud/resource_manager/manager.rb +54 -86
- data/lib/gcloud/resource_manager/project.rb +69 -88
- data/lib/gcloud/resource_manager/project/list.rb +4 -5
- data/lib/gcloud/resource_manager/project/updater.rb +12 -14
- data/lib/gcloud/search.rb +158 -135
- data/lib/gcloud/search/api_client.rb +7 -7
- data/lib/gcloud/search/connection.rb +8 -8
- data/lib/gcloud/search/credentials.rb +3 -3
- data/lib/gcloud/search/document.rb +64 -87
- data/lib/gcloud/search/document/list.rb +5 -5
- data/lib/gcloud/search/errors.rb +9 -5
- data/lib/gcloud/search/field_value.rb +32 -38
- data/lib/gcloud/search/field_values.rb +50 -80
- data/lib/gcloud/search/fields.rb +44 -65
- data/lib/gcloud/search/index.rb +163 -204
- data/lib/gcloud/search/index/list.rb +5 -5
- data/lib/gcloud/search/project.rb +31 -47
- data/lib/gcloud/search/result.rb +27 -31
- data/lib/gcloud/search/result/list.rb +6 -6
- data/lib/gcloud/storage.rb +224 -190
- data/lib/gcloud/storage/bucket.rb +202 -227
- data/lib/gcloud/storage/bucket/acl.rb +83 -170
- data/lib/gcloud/storage/bucket/cors.rb +31 -34
- data/lib/gcloud/storage/bucket/list.rb +3 -3
- data/lib/gcloud/storage/connection.rb +11 -7
- data/lib/gcloud/storage/credentials.rb +3 -3
- data/lib/gcloud/storage/errors.rb +11 -8
- data/lib/gcloud/storage/file.rb +129 -171
- data/lib/gcloud/storage/file/acl.rb +51 -99
- data/lib/gcloud/storage/file/list.rb +3 -3
- data/lib/gcloud/storage/file/verifier.rb +3 -2
- data/lib/gcloud/storage/project.rb +111 -132
- data/lib/gcloud/upload.rb +4 -7
- data/lib/gcloud/version.rb +2 -4
- data/lib/google/api/annotations.rb +14 -0
- data/lib/google/api/http.rb +30 -0
- data/lib/google/api/label.rb +24 -0
- data/lib/google/api/monitored_resource.rb +25 -0
- data/lib/google/datastore/v1beta3/datastore.rb +115 -0
- data/lib/google/datastore/v1beta3/datastore_services.rb +33 -0
- data/lib/google/datastore/v1beta3/entity.rb +63 -0
- data/lib/google/datastore/v1beta3/query.rb +128 -0
- data/lib/google/devtools/cloudtrace/v1/trace.rb +78 -0
- data/lib/google/devtools/cloudtrace/v1/trace_services.rb +32 -0
- data/lib/google/example/library/v1/library.rb +91 -0
- data/lib/google/example/library/v1/library_services.rb +40 -0
- data/lib/google/iam/v1/iam_policy.rb +33 -0
- data/lib/google/iam/v1/iam_policy_services.rb +30 -0
- data/lib/google/iam/v1/policy.rb +25 -0
- data/lib/google/logging/type/http_request.rb +28 -0
- data/lib/google/logging/type/log_severity.rb +27 -0
- data/lib/google/logging/v2/log_entry.rb +44 -0
- data/lib/google/logging/v2/logging.rb +56 -0
- data/lib/google/logging/v2/logging_config.rb +59 -0
- data/lib/google/logging/v2/logging_config_services.rb +32 -0
- data/lib/google/logging/v2/logging_metrics.rb +51 -0
- data/lib/google/logging/v2/logging_metrics_services.rb +32 -0
- data/lib/google/logging/v2/logging_services.rb +31 -0
- data/lib/google/longrunning/operations.rb +50 -0
- data/lib/google/longrunning/operations_services.rb +29 -0
- data/lib/google/protobuf/any.rb +17 -0
- data/lib/google/protobuf/api.rb +31 -0
- data/lib/google/protobuf/descriptor.rb +0 -0
- data/lib/google/protobuf/duration.rb +17 -0
- data/lib/google/protobuf/empty.rb +15 -0
- data/lib/google/protobuf/field_mask.rb +16 -0
- data/lib/google/protobuf/source_context.rb +16 -0
- data/lib/google/protobuf/struct.rb +35 -0
- data/lib/google/protobuf/timestamp.rb +17 -0
- data/lib/google/protobuf/type.rb +79 -0
- data/lib/google/protobuf/wrappers.rb +48 -0
- data/lib/google/pubsub/v1/pubsub.rb +129 -0
- data/lib/google/pubsub/v1/pubsub_services.rb +56 -0
- data/lib/google/pubsub/v1beta2/pubsub.rb +126 -0
- data/lib/google/pubsub/v1beta2/pubsub_services.rb +56 -0
- data/lib/google/rpc/code.rb +32 -0
- data/lib/google/rpc/error_details.rb +61 -0
- data/lib/google/rpc/status.rb +19 -0
- data/lib/google/type/color.rb +20 -0
- data/lib/google/type/date.rb +18 -0
- data/lib/google/type/dayofweek.rb +23 -0
- data/lib/google/type/latlng.rb +17 -0
- data/lib/google/type/money.rb +18 -0
- data/lib/google/type/timeofday.rb +19 -0
- metadata +101 -4
- data/lib/gcloud/pubsub/connection.rb +0 -295
- data/lib/gcloud/pubsub/errors.rb +0 -93
@@ -1,4 +1,3 @@
|
|
1
|
-
#--
|
2
1
|
# Copyright 2015 Google Inc. All rights reserved.
|
3
2
|
#
|
4
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -13,20 +12,22 @@
|
|
13
12
|
# See the License for the specific language governing permissions and
|
14
13
|
# limitations under the License.
|
15
14
|
|
15
|
+
|
16
16
|
require "gcloud/bigquery/data"
|
17
17
|
|
18
18
|
module Gcloud
|
19
19
|
module Bigquery
|
20
20
|
##
|
21
|
-
#
|
21
|
+
# # QueryData
|
22
22
|
#
|
23
23
|
# Represents Data returned from a query a a list of name/value pairs.
|
24
24
|
class QueryData < Data
|
25
25
|
##
|
26
|
-
# The Connection object.
|
27
|
-
attr_accessor :connection
|
26
|
+
# @private The Connection object.
|
27
|
+
attr_accessor :connection
|
28
28
|
|
29
|
-
|
29
|
+
# @private
|
30
|
+
def initialize arr = []
|
30
31
|
@job = nil
|
31
32
|
super
|
32
33
|
end
|
@@ -37,7 +38,7 @@ module Gcloud
|
|
37
38
|
end
|
38
39
|
|
39
40
|
# Whether the query has completed or not. When data is present this will
|
40
|
-
# always be
|
41
|
+
# always be `true`. When `false`, `total` will not be available.
|
41
42
|
def complete?
|
42
43
|
@gapi["jobComplete"]
|
43
44
|
end
|
@@ -89,7 +90,7 @@ module Gcloud
|
|
89
90
|
end
|
90
91
|
|
91
92
|
##
|
92
|
-
# The BigQuery Job that was created to run the query.
|
93
|
+
# The BigQuery {Job} that was created to run the query.
|
93
94
|
def job
|
94
95
|
return @job if @job
|
95
96
|
return nil unless job?
|
@@ -104,8 +105,8 @@ module Gcloud
|
|
104
105
|
end
|
105
106
|
|
106
107
|
##
|
107
|
-
# New Data from a response object.
|
108
|
-
def self.from_gapi gapi, connection
|
108
|
+
# @private New Data from a response object.
|
109
|
+
def self.from_gapi gapi, connection
|
109
110
|
if gapi["schema"].nil?
|
110
111
|
formatted_rows = []
|
111
112
|
else
|
@@ -1,4 +1,3 @@
|
|
1
|
-
#--
|
2
1
|
# Copyright 2015 Google Inc. All rights reserved.
|
3
2
|
#
|
4
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -13,30 +12,30 @@
|
|
13
12
|
# See the License for the specific language governing permissions and
|
14
13
|
# limitations under the License.
|
15
14
|
|
15
|
+
|
16
16
|
module Gcloud
|
17
17
|
module Bigquery
|
18
18
|
##
|
19
|
-
#
|
19
|
+
# # QueryJob
|
20
20
|
#
|
21
|
-
# A Job subclass representing a query operation that may be performed
|
22
|
-
# on a Table. A QueryJob instance is created when you call
|
23
|
-
# Project#query_job, Dataset#query_job, or View#data.
|
21
|
+
# A {Job} subclass representing a query operation that may be performed
|
22
|
+
# on a {Table}. A QueryJob instance is created when you call
|
23
|
+
# {Project#query_job}, {Dataset#query_job}, or {View#data}.
|
24
24
|
#
|
25
|
-
#
|
26
|
-
#
|
27
|
-
#
|
28
|
-
# for details.
|
25
|
+
# @see https://cloud.google.com/bigquery/querying-data Querying Data
|
26
|
+
# @see https://cloud.google.com/bigquery/docs/reference/v2/jobs Jobs API
|
27
|
+
# reference
|
29
28
|
#
|
30
29
|
class QueryJob < Job
|
31
30
|
##
|
32
|
-
# Checks if the priority for the query is
|
31
|
+
# Checks if the priority for the query is `BATCH`.
|
33
32
|
def batch?
|
34
33
|
val = config["query"]["priority"]
|
35
34
|
val == "BATCH"
|
36
35
|
end
|
37
36
|
|
38
37
|
##
|
39
|
-
# Checks if the priority for the query is
|
38
|
+
# Checks if the priority for the query is `INTERACTIVE`.
|
40
39
|
def interactive?
|
41
40
|
val = config["query"]["priority"]
|
42
41
|
return true if val.nil?
|
@@ -54,8 +53,8 @@ module Gcloud
|
|
54
53
|
|
55
54
|
##
|
56
55
|
# Checks if the query job looks for an existing result in the query cache.
|
57
|
-
# For more information, see
|
58
|
-
# Caching
|
56
|
+
# For more information, see [Query
|
57
|
+
# Caching](https://cloud.google.com/bigquery/querying-data#querycaching).
|
59
58
|
def cache?
|
60
59
|
val = config["query"]["useQueryCache"]
|
61
60
|
return false if val.nil?
|
@@ -64,8 +63,8 @@ module Gcloud
|
|
64
63
|
|
65
64
|
##
|
66
65
|
# Checks if the query job flattens nested and repeated fields in the query
|
67
|
-
# results. The default is
|
68
|
-
# should return
|
66
|
+
# results. The default is `true`. If the value is `false`, #large_results?
|
67
|
+
# should return `true`.
|
69
68
|
def flatten?
|
70
69
|
val = config["query"]["flattenResults"]
|
71
70
|
return true if val.nil?
|
@@ -97,25 +96,17 @@ module Gcloud
|
|
97
96
|
##
|
98
97
|
# Retrieves the query results for the job.
|
99
98
|
#
|
100
|
-
#
|
101
|
-
#
|
102
|
-
#
|
103
|
-
#
|
104
|
-
#
|
105
|
-
#
|
106
|
-
#
|
107
|
-
# +start+::
|
108
|
-
# Zero-based index of the starting row to read. (+Integer+)
|
109
|
-
# +timeout+::
|
110
|
-
# How long to wait for the query to complete, in milliseconds, before
|
111
|
-
# returning. Default is 10,000 milliseconds (10 seconds). (+Integer+)
|
112
|
-
#
|
113
|
-
# === Returns
|
114
|
-
#
|
115
|
-
# Gcloud::Bigquery::QueryData
|
99
|
+
# @param [String] token Page token, returned by a previous call,
|
100
|
+
# identifying the result set.
|
101
|
+
# @param [Integer] max Maximum number of results to return.
|
102
|
+
# @param [Integer] start Zero-based index of the starting row to read.
|
103
|
+
# @param [Integer] timeout How long to wait for the query to complete, in
|
104
|
+
# milliseconds, before returning. Default is 10,000 milliseconds (10
|
105
|
+
# seconds).
|
116
106
|
#
|
117
|
-
#
|
107
|
+
# @return [Gcloud::Bigquery::QueryData]
|
118
108
|
#
|
109
|
+
# @example
|
119
110
|
# require "gcloud"
|
120
111
|
#
|
121
112
|
# gcloud = Gcloud.new
|
@@ -1,4 +1,3 @@
|
|
1
|
-
#--
|
2
1
|
# Copyright 2015 Google Inc. All rights reserved.
|
3
2
|
#
|
4
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -13,6 +12,7 @@
|
|
13
12
|
# See the License for the specific language governing permissions and
|
14
13
|
# limitations under the License.
|
15
14
|
|
15
|
+
|
16
16
|
require "gcloud/bigquery/view"
|
17
17
|
require "gcloud/bigquery/data"
|
18
18
|
require "gcloud/bigquery/table/list"
|
@@ -24,14 +24,16 @@ require "gcloud/upload"
|
|
24
24
|
module Gcloud
|
25
25
|
module Bigquery
|
26
26
|
##
|
27
|
-
#
|
27
|
+
# # Table
|
28
28
|
#
|
29
29
|
# A named resource representing a BigQuery table that holds zero or more
|
30
|
-
# records. Every table is defined by a schema
|
31
|
-
#
|
32
|
-
#
|
33
|
-
#
|
30
|
+
# records. Every table is defined by a schema that may contain nested and
|
31
|
+
# repeated fields.
|
32
|
+
#
|
33
|
+
# @see https://cloud.google.com/bigquery/preparing-data-for-bigquery
|
34
|
+
# Preparing Data for BigQuery
|
34
35
|
#
|
36
|
+
# @example
|
35
37
|
# require "gcloud"
|
36
38
|
#
|
37
39
|
# gcloud = Gcloud.new
|
@@ -63,16 +65,16 @@ module Gcloud
|
|
63
65
|
#
|
64
66
|
class Table
|
65
67
|
##
|
66
|
-
# The Connection object.
|
67
|
-
attr_accessor :connection
|
68
|
+
# @private The Connection object.
|
69
|
+
attr_accessor :connection
|
68
70
|
|
69
71
|
##
|
70
|
-
# The Google API Client object.
|
71
|
-
attr_accessor :gapi
|
72
|
+
# @private The Google API Client object.
|
73
|
+
attr_accessor :gapi
|
72
74
|
|
73
75
|
##
|
74
|
-
# Create an empty Table object.
|
75
|
-
def initialize
|
76
|
+
# @private Create an empty Table object.
|
77
|
+
def initialize
|
76
78
|
@connection = nil
|
77
79
|
@gapi = {}
|
78
80
|
end
|
@@ -82,34 +84,35 @@ module Gcloud
|
|
82
84
|
# The ID must contain only letters (a-z, A-Z), numbers (0-9),
|
83
85
|
# or underscores (_). The maximum length is 1,024 characters.
|
84
86
|
#
|
85
|
-
#
|
87
|
+
# @!group Attributes
|
86
88
|
#
|
87
89
|
def table_id
|
88
90
|
@gapi["tableReference"]["tableId"]
|
89
91
|
end
|
90
92
|
|
91
93
|
##
|
92
|
-
# The ID of the
|
94
|
+
# The ID of the `Dataset` containing this table.
|
93
95
|
#
|
94
|
-
#
|
96
|
+
# @!group Attributes
|
95
97
|
#
|
96
98
|
def dataset_id
|
97
99
|
@gapi["tableReference"]["datasetId"]
|
98
100
|
end
|
99
101
|
|
100
102
|
##
|
101
|
-
# The ID of the
|
103
|
+
# The ID of the `Project` containing this table.
|
102
104
|
#
|
103
|
-
#
|
105
|
+
# @!group Attributes
|
104
106
|
#
|
105
107
|
def project_id
|
106
108
|
@gapi["tableReference"]["projectId"]
|
107
109
|
end
|
108
110
|
|
109
111
|
##
|
112
|
+
# @private
|
110
113
|
# The gapi fragment containing the Project ID, Dataset ID, and Table ID as
|
111
114
|
# a camel-cased hash.
|
112
|
-
def table_ref
|
115
|
+
def table_ref
|
113
116
|
table_ref = @gapi["tableReference"]
|
114
117
|
table_ref = table_ref.to_hash if table_ref.respond_to? :to_hash
|
115
118
|
table_ref
|
@@ -117,25 +120,24 @@ module Gcloud
|
|
117
120
|
|
118
121
|
##
|
119
122
|
# The combined Project ID, Dataset ID, and Table ID for this table, in the
|
120
|
-
# format specified by the
|
121
|
-
# Reference
|
122
|
-
#
|
123
|
-
# #query_id.
|
123
|
+
# format specified by the [Query
|
124
|
+
# Reference](https://cloud.google.com/bigquery/query-reference#from):
|
125
|
+
# `project_name:datasetId.tableId`. To use this value in queries see
|
126
|
+
# {#query_id}.
|
124
127
|
#
|
125
|
-
#
|
128
|
+
# @!group Attributes
|
126
129
|
#
|
127
130
|
def id
|
128
131
|
@gapi["id"]
|
129
132
|
end
|
130
133
|
|
131
134
|
##
|
132
|
-
# The value returned by #id, wrapped in square brackets if the Project
|
133
|
-
# contains dashes, as specified by the
|
134
|
-
# Reference
|
135
|
+
# The value returned by {#id}, wrapped in square brackets if the Project
|
136
|
+
# ID contains dashes, as specified by the [Query
|
137
|
+
# Reference](https://cloud.google.com/bigquery/query-reference#from).
|
135
138
|
# Useful in queries.
|
136
139
|
#
|
137
|
-
#
|
138
|
-
#
|
140
|
+
# @example
|
139
141
|
# require "gcloud"
|
140
142
|
#
|
141
143
|
# gcloud = Gcloud.new
|
@@ -145,7 +147,7 @@ module Gcloud
|
|
145
147
|
#
|
146
148
|
# data = bigquery.query "SELECT name FROM #{table.query_id}"
|
147
149
|
#
|
148
|
-
#
|
150
|
+
# @!group Attributes
|
149
151
|
#
|
150
152
|
def query_id
|
151
153
|
project_id["-"] ? "[#{id}]" : id
|
@@ -154,7 +156,7 @@ module Gcloud
|
|
154
156
|
##
|
155
157
|
# The name of the table.
|
156
158
|
#
|
157
|
-
#
|
159
|
+
# @!group Attributes
|
158
160
|
#
|
159
161
|
def name
|
160
162
|
@gapi["friendlyName"]
|
@@ -163,7 +165,7 @@ module Gcloud
|
|
163
165
|
##
|
164
166
|
# Updates the name of the table.
|
165
167
|
#
|
166
|
-
#
|
168
|
+
# @!group Attributes
|
167
169
|
#
|
168
170
|
def name= new_name
|
169
171
|
patch_gapi! name: new_name
|
@@ -172,7 +174,7 @@ module Gcloud
|
|
172
174
|
##
|
173
175
|
# A string hash of the dataset.
|
174
176
|
#
|
175
|
-
#
|
177
|
+
# @!group Attributes
|
176
178
|
#
|
177
179
|
def etag
|
178
180
|
ensure_full_data!
|
@@ -182,7 +184,7 @@ module Gcloud
|
|
182
184
|
##
|
183
185
|
# A URL that can be used to access the dataset using the REST API.
|
184
186
|
#
|
185
|
-
#
|
187
|
+
# @!group Attributes
|
186
188
|
#
|
187
189
|
def api_url
|
188
190
|
ensure_full_data!
|
@@ -192,7 +194,7 @@ module Gcloud
|
|
192
194
|
##
|
193
195
|
# The description of the table.
|
194
196
|
#
|
195
|
-
#
|
197
|
+
# @!group Attributes
|
196
198
|
#
|
197
199
|
def description
|
198
200
|
ensure_full_data!
|
@@ -202,7 +204,7 @@ module Gcloud
|
|
202
204
|
##
|
203
205
|
# Updates the description of the table.
|
204
206
|
#
|
205
|
-
#
|
207
|
+
# @!group Attributes
|
206
208
|
#
|
207
209
|
def description= new_description
|
208
210
|
patch_gapi! description: new_description
|
@@ -211,7 +213,7 @@ module Gcloud
|
|
211
213
|
##
|
212
214
|
# The number of bytes in the table.
|
213
215
|
#
|
214
|
-
#
|
216
|
+
# @!group Data
|
215
217
|
#
|
216
218
|
def bytes_count
|
217
219
|
ensure_full_data!
|
@@ -221,7 +223,7 @@ module Gcloud
|
|
221
223
|
##
|
222
224
|
# The number of rows in the table.
|
223
225
|
#
|
224
|
-
#
|
226
|
+
# @!group Data
|
225
227
|
#
|
226
228
|
def rows_count
|
227
229
|
ensure_full_data!
|
@@ -231,7 +233,7 @@ module Gcloud
|
|
231
233
|
##
|
232
234
|
# The time when this table was created.
|
233
235
|
#
|
234
|
-
#
|
236
|
+
# @!group Attributes
|
235
237
|
#
|
236
238
|
def created_at
|
237
239
|
ensure_full_data!
|
@@ -243,7 +245,7 @@ module Gcloud
|
|
243
245
|
# If not present, the table will persist indefinitely.
|
244
246
|
# Expired tables will be deleted and their storage reclaimed.
|
245
247
|
#
|
246
|
-
#
|
248
|
+
# @!group Attributes
|
247
249
|
#
|
248
250
|
def expires_at
|
249
251
|
ensure_full_data!
|
@@ -254,7 +256,7 @@ module Gcloud
|
|
254
256
|
##
|
255
257
|
# The date when this table was last modified.
|
256
258
|
#
|
257
|
-
#
|
259
|
+
# @!group Attributes
|
258
260
|
#
|
259
261
|
def modified_at
|
260
262
|
ensure_full_data!
|
@@ -264,7 +266,7 @@ module Gcloud
|
|
264
266
|
##
|
265
267
|
# Checks if the table's type is "TABLE".
|
266
268
|
#
|
267
|
-
#
|
269
|
+
# @!group Attributes
|
268
270
|
#
|
269
271
|
def table?
|
270
272
|
@gapi["type"] == "TABLE"
|
@@ -273,7 +275,7 @@ module Gcloud
|
|
273
275
|
##
|
274
276
|
# Checks if the table's type is "VIEW".
|
275
277
|
#
|
276
|
-
#
|
278
|
+
# @!group Attributes
|
277
279
|
#
|
278
280
|
def view?
|
279
281
|
@gapi["type"] == "VIEW"
|
@@ -283,7 +285,7 @@ module Gcloud
|
|
283
285
|
# The geographic location where the table should reside. Possible
|
284
286
|
# values include EU and US. The default value is US.
|
285
287
|
#
|
286
|
-
#
|
288
|
+
# @!group Attributes
|
287
289
|
#
|
288
290
|
def location
|
289
291
|
ensure_full_data!
|
@@ -292,23 +294,21 @@ module Gcloud
|
|
292
294
|
|
293
295
|
##
|
294
296
|
# Returns the table's schema as hash containing the keys and values
|
295
|
-
# returned by the Google Cloud BigQuery
|
296
|
-
#
|
297
|
+
# returned by the Google Cloud BigQuery [Rest API
|
298
|
+
# ](https://cloud.google.com/bigquery/docs/reference/v2/tables#resource).
|
297
299
|
# This method can also be used to set, replace, or add to the schema by
|
298
|
-
# passing a block. See Table::Schema for available methods. To set the
|
299
|
-
# schema by passing a hash instead, use #schema
|
300
|
+
# passing a block. See {Table::Schema} for available methods. To set the
|
301
|
+
# schema by passing a hash instead, use {#schema=}.
|
300
302
|
#
|
301
|
-
#
|
302
|
-
#
|
303
|
-
#
|
304
|
-
# Whether to replace the existing schema with the new schema. If
|
305
|
-
# +true+, the fields will replace the existing schema. If
|
306
|
-
# +false+, the fields will be added to the existing schema. When a table
|
303
|
+
# @param [Boolean] replace Whether to replace the existing schema with the
|
304
|
+
# new schema. If `true`, the fields will replace the existing schema. If
|
305
|
+
# `false`, the fields will be added to the existing schema. When a table
|
307
306
|
# already contains data, schema changes must be additive. Thus, the
|
308
|
-
# default value is
|
309
|
-
#
|
310
|
-
#
|
307
|
+
# default value is `false`.
|
308
|
+
# @yield [schema] a block for setting the schema
|
309
|
+
# @yieldparam [Table::Schema] schema the object accepting the schema
|
311
310
|
#
|
311
|
+
# @example
|
312
312
|
# require "gcloud"
|
313
313
|
#
|
314
314
|
# gcloud = Gcloud.new
|
@@ -324,7 +324,7 @@ module Gcloud
|
|
324
324
|
# end
|
325
325
|
# end
|
326
326
|
#
|
327
|
-
#
|
327
|
+
# @!group Attributes
|
328
328
|
#
|
329
329
|
def schema replace: false
|
330
330
|
ensure_full_data!
|
@@ -342,16 +342,12 @@ module Gcloud
|
|
342
342
|
# Updates the schema of the table.
|
343
343
|
# To update the schema using a block instead, use #schema.
|
344
344
|
#
|
345
|
-
#
|
346
|
-
#
|
347
|
-
#
|
348
|
-
#
|
349
|
-
# BigQuery {Rest API
|
350
|
-
# }[https://cloud.google.com/bigquery/docs/reference/v2/tables#resource]
|
351
|
-
# . (+Hash+)
|
352
|
-
#
|
353
|
-
# === Example
|
345
|
+
# @param [Hash] new_schema A hash containing keys and values as specified
|
346
|
+
# by the Google Cloud BigQuery [Rest API
|
347
|
+
# ](https://cloud.google.com/bigquery/docs/reference/v2/tables#resource)
|
348
|
+
# .
|
354
349
|
#
|
350
|
+
# @example
|
355
351
|
# require "gcloud"
|
356
352
|
#
|
357
353
|
# gcloud = Gcloud.new
|
@@ -375,7 +371,7 @@ module Gcloud
|
|
375
371
|
# }
|
376
372
|
# table.schema = schema
|
377
373
|
#
|
378
|
-
#
|
374
|
+
# @!group Attributes
|
379
375
|
#
|
380
376
|
def schema= new_schema
|
381
377
|
patch_gapi! schema: new_schema
|
@@ -384,7 +380,7 @@ module Gcloud
|
|
384
380
|
##
|
385
381
|
# The fields of the table.
|
386
382
|
#
|
387
|
-
#
|
383
|
+
# @!group Attributes
|
388
384
|
#
|
389
385
|
def fields
|
390
386
|
f = schema["fields"]
|
@@ -396,7 +392,7 @@ module Gcloud
|
|
396
392
|
##
|
397
393
|
# The names of the columns in the table.
|
398
394
|
#
|
399
|
-
#
|
395
|
+
# @!group Attributes
|
400
396
|
#
|
401
397
|
def headers
|
402
398
|
fields.map { |f| f["name"] }
|
@@ -405,22 +401,15 @@ module Gcloud
|
|
405
401
|
##
|
406
402
|
# Retrieves data from the table.
|
407
403
|
#
|
408
|
-
#
|
409
|
-
#
|
410
|
-
# +token+::
|
411
|
-
# Page token, returned by a previous call, identifying the result set.
|
412
|
-
# (+String+)
|
413
|
-
# +max+::
|
414
|
-
# Maximum number of results to return. (+Integer+)
|
415
|
-
# +start+::
|
416
|
-
# Zero-based index of the starting row to read. (+Integer+)
|
417
|
-
#
|
418
|
-
# === Returns
|
404
|
+
# @param [String] token Page token, returned by a previous call,
|
405
|
+
# identifying the result set.
|
419
406
|
#
|
420
|
-
#
|
407
|
+
# @param [Integer] max Maximum number of results to return.
|
408
|
+
# @param [Integer] start Zero-based index of the starting row to read.
|
421
409
|
#
|
422
|
-
#
|
410
|
+
# @return [Gcloud::Bigquery::Data]
|
423
411
|
#
|
412
|
+
# @example
|
424
413
|
# require "gcloud"
|
425
414
|
#
|
426
415
|
# gcloud = Gcloud.new
|
@@ -434,7 +423,7 @@ module Gcloud
|
|
434
423
|
# end
|
435
424
|
# more_data = table.data token: data.token
|
436
425
|
#
|
437
|
-
#
|
426
|
+
# @!group Data
|
438
427
|
#
|
439
428
|
def data token: nil, max: nil, start: nil
|
440
429
|
ensure_connection!
|
@@ -449,34 +438,35 @@ module Gcloud
|
|
449
438
|
|
450
439
|
##
|
451
440
|
# Copies the data from the table to another table.
|
441
|
+
# The destination table argument can also be a string identifier as
|
442
|
+
# specified by the [Query
|
443
|
+
# Reference](https://cloud.google.com/bigquery/query-reference#from):
|
444
|
+
# `project_name:datasetId.tableId`. This is useful for referencing tables
|
445
|
+
# in other projects and datasets.
|
452
446
|
#
|
453
|
-
#
|
454
|
-
#
|
455
|
-
#
|
456
|
-
#
|
457
|
-
# +create+::
|
458
|
-
# Specifies whether the job is allowed to create new tables. (+String+)
|
447
|
+
# @param [Table, String] destination_table The destination for the copied
|
448
|
+
# data.
|
449
|
+
# @param [String] create Specifies whether the job is allowed to create
|
450
|
+
# new tables.
|
459
451
|
#
|
460
452
|
# The following values are supported:
|
461
|
-
#
|
462
|
-
# *
|
453
|
+
#
|
454
|
+
# * `needed` - Create the table if it does not exist.
|
455
|
+
# * `never` - The table must already exist. A 'notFound' error is
|
463
456
|
# raised if the table does not exist.
|
464
|
-
#
|
465
|
-
#
|
466
|
-
# The default value is +empty+. (+String+)
|
457
|
+
# @param [String] write Specifies how to handle data already present in
|
458
|
+
# the destination table. The default value is `empty`.
|
467
459
|
#
|
468
460
|
# The following values are supported:
|
469
|
-
# * +truncate+ - BigQuery overwrites the table data.
|
470
|
-
# * +append+ - BigQuery appends the data to the table.
|
471
|
-
# * +empty+ - An error will be returned if the destination table already
|
472
|
-
# contains data.
|
473
|
-
#
|
474
|
-
# === Returns
|
475
461
|
#
|
476
|
-
#
|
462
|
+
# * `truncate` - BigQuery overwrites the table data.
|
463
|
+
# * `append` - BigQuery appends the data to the table.
|
464
|
+
# * `empty` - An error will be returned if the destination table already
|
465
|
+
# contains data.
|
477
466
|
#
|
478
|
-
#
|
467
|
+
# @return [Gcloud::Bigquery::CopyJob]
|
479
468
|
#
|
469
|
+
# @example
|
480
470
|
# require "gcloud"
|
481
471
|
#
|
482
472
|
# gcloud = Gcloud.new
|
@@ -487,12 +477,7 @@ module Gcloud
|
|
487
477
|
#
|
488
478
|
# copy_job = table.copy destination_table
|
489
479
|
#
|
490
|
-
#
|
491
|
-
# specified by the {Query
|
492
|
-
# Reference}[https://cloud.google.com/bigquery/query-reference#from]:
|
493
|
-
# +project_name:datasetId.tableId+. This is useful for referencing tables
|
494
|
-
# in other projects and datasets.
|
495
|
-
#
|
480
|
+
# @example Passing a string identifier for the destination table:
|
496
481
|
# require "gcloud"
|
497
482
|
#
|
498
483
|
# gcloud = Gcloud.new
|
@@ -502,7 +487,7 @@ module Gcloud
|
|
502
487
|
#
|
503
488
|
# copy_job = table.copy "other-project:other_dataset.other_table"
|
504
489
|
#
|
505
|
-
#
|
490
|
+
# @!group Data
|
506
491
|
#
|
507
492
|
def copy destination_table, create: nil, write: nil, dryrun: nil
|
508
493
|
ensure_connection!
|
@@ -518,36 +503,33 @@ module Gcloud
|
|
518
503
|
end
|
519
504
|
|
520
505
|
##
|
506
|
+
# @private
|
521
507
|
# Links the table to a source table identified by a URI.
|
522
508
|
#
|
523
|
-
#
|
524
|
-
#
|
525
|
-
#
|
526
|
-
# The URI of source table to link. (+String+)
|
527
|
-
# +create+::
|
528
|
-
# Specifies whether the job is allowed to create new tables. (+String+)
|
509
|
+
# @param [String] source_url The URI of source table to link.
|
510
|
+
# @param [String] create Specifies whether the job is allowed to create
|
511
|
+
# new tables.
|
529
512
|
#
|
530
513
|
# The following values are supported:
|
531
|
-
#
|
532
|
-
# *
|
514
|
+
#
|
515
|
+
# * `needed` - Create the table if it does not exist.
|
516
|
+
# * `never` - The table must already exist. A 'notFound' error is
|
533
517
|
# raised if the table does not exist.
|
534
|
-
#
|
535
|
-
#
|
536
|
-
# The default value is +empty+. (+String+)
|
518
|
+
# @param [String] write Specifies how to handle data already present in
|
519
|
+
# the destination table. The default value is `empty`.
|
537
520
|
#
|
538
521
|
# The following values are supported:
|
539
|
-
# * +truncate+ - BigQuery overwrites the table data.
|
540
|
-
# * +append+ - BigQuery appends the data to the table.
|
541
|
-
# * +empty+ - An error will be returned if the table already contains
|
542
|
-
# data.
|
543
522
|
#
|
544
|
-
#
|
523
|
+
# * `truncate` - BigQuery overwrites the table data.
|
524
|
+
# * `append` - BigQuery appends the data to the table.
|
525
|
+
# * `empty` - An error will be returned if the destination table already
|
526
|
+
# contains data.
|
545
527
|
#
|
546
|
-
# Gcloud::Bigquery::Job
|
528
|
+
# @return [Gcloud::Bigquery::Job]
|
547
529
|
#
|
548
|
-
#
|
530
|
+
# @!group Data
|
549
531
|
#
|
550
|
-
def link source_url, create: nil, write: nil, dryrun: nil
|
532
|
+
def link source_url, create: nil, write: nil, dryrun: nil
|
551
533
|
ensure_connection!
|
552
534
|
options = { create: create, write: write, dryrun: dryrun }
|
553
535
|
resp = connection.link_table table_ref, source_url, options
|
@@ -559,39 +541,34 @@ module Gcloud
|
|
559
541
|
end
|
560
542
|
|
561
543
|
##
|
562
|
-
# Extract the data from the table to a Google Cloud Storage file.
|
563
|
-
# more information, see {Exporting Data From BigQuery
|
564
|
-
# }[https://cloud.google.com/bigquery/exporting-data-from-bigquery].
|
544
|
+
# Extract the data from the table to a Google Cloud Storage file.
|
565
545
|
#
|
566
|
-
#
|
546
|
+
# @see https://cloud.google.com/bigquery/exporting-data-from-bigquery
|
547
|
+
# Exporting Data From BigQuery
|
567
548
|
#
|
568
|
-
#
|
569
|
-
#
|
570
|
-
#
|
571
|
-
#
|
572
|
-
#
|
573
|
-
# The exported file format. The default value is +csv+. (+String+)
|
549
|
+
# @param [Gcloud::Storage::File, String, Array<String>] extract_url The
|
550
|
+
# Google Storage file or file URI pattern(s) to which BigQuery should
|
551
|
+
# extract the table data.
|
552
|
+
# @param [String] format The exported file format. The default value is
|
553
|
+
# `csv`.
|
574
554
|
#
|
575
555
|
# The following values are supported:
|
576
|
-
# * +csv+ - CSV
|
577
|
-
# * +json+ - {Newline-delimited JSON}[http://jsonlines.org/]
|
578
|
-
# * +avro+ - {Avro}[http://avro.apache.org/]
|
579
|
-
# +compression+::
|
580
|
-
# The compression type to use for exported files. Possible values
|
581
|
-
# include +GZIP+ and +NONE+. The default value is +NONE+. (+String+)
|
582
|
-
# +delimiter+::
|
583
|
-
# Delimiter to use between fields in the exported data. Default is
|
584
|
-
# <code>,</code>. (+String+)
|
585
|
-
# +header+::
|
586
|
-
# Whether to print out a header row in the results. Default is +true+.
|
587
|
-
# (+Boolean+)
|
588
556
|
#
|
589
|
-
#
|
557
|
+
# * `csv` - CSV
|
558
|
+
# * `json` - [Newline-delimited JSON](http://jsonlines.org/)
|
559
|
+
# * `avro` - [Avro](http://avro.apache.org/)
|
560
|
+
# @param [String] compression The compression type to use for exported
|
561
|
+
# files. Possible values include `GZIP` and `NONE`. The default value is
|
562
|
+
# `NONE`.
|
563
|
+
# @param [String] delimiter Delimiter to use between fields in the
|
564
|
+
# exported data. Default is <code>,</code>.
|
565
|
+
# @param [Boolean] header Whether to print out a header row in the
|
566
|
+
# results. Default is `true`.
|
590
567
|
#
|
591
|
-
# Gcloud::Bigquery::ExtractJob
|
592
568
|
#
|
593
|
-
#
|
569
|
+
# @return [Gcloud::Bigquery::ExtractJob]
|
594
570
|
#
|
571
|
+
# @example
|
595
572
|
# require "gcloud"
|
596
573
|
#
|
597
574
|
# gcloud = Gcloud.new
|
@@ -602,7 +579,7 @@ module Gcloud
|
|
602
579
|
# extract_job = table.extract "gs://my-bucket/file-name.json",
|
603
580
|
# format: "json"
|
604
581
|
#
|
605
|
-
#
|
582
|
+
# @!group Data
|
606
583
|
#
|
607
584
|
def extract extract_url, format: nil, compression: nil, delimiter: nil,
|
608
585
|
header: nil, dryrun: nil
|
@@ -618,100 +595,93 @@ module Gcloud
|
|
618
595
|
end
|
619
596
|
|
620
597
|
##
|
621
|
-
# Loads data into the table.
|
622
|
-
#
|
623
|
-
#
|
598
|
+
# Loads data into the table. You can pass a gcloud storage file path or
|
599
|
+
# a gcloud storage file instance. Or, you can upload a file directly.
|
600
|
+
# See [Loading Data with a POST Request](
|
601
|
+
# https://cloud.google.com/bigquery/loading-data-post-request#multipart).
|
624
602
|
#
|
625
|
-
#
|
626
|
-
#
|
627
|
-
#
|
628
|
-
#
|
629
|
-
# +format+::
|
630
|
-
# The exported file format. The default value is +csv+. (+String+)
|
603
|
+
# @param [File, Gcloud::Storage::File, String] file A file or the URI of a
|
604
|
+
# Google Cloud Storage file containing data to load into the table.
|
605
|
+
# @param [String] format The exported file format. The default value is
|
606
|
+
# `csv`.
|
631
607
|
#
|
632
608
|
# The following values are supported:
|
633
|
-
#
|
634
|
-
# *
|
635
|
-
# *
|
636
|
-
# *
|
637
|
-
#
|
638
|
-
#
|
609
|
+
#
|
610
|
+
# * `csv` - CSV
|
611
|
+
# * `json` - [Newline-delimited JSON](http://jsonlines.org/)
|
612
|
+
# * `avro` - [Avro](http://avro.apache.org/)
|
613
|
+
# * `datastore_backup` - Cloud Datastore backup
|
614
|
+
# @param [String] create Specifies whether the job is allowed to create
|
615
|
+
# new tables.
|
639
616
|
#
|
640
617
|
# The following values are supported:
|
641
|
-
#
|
642
|
-
# *
|
618
|
+
#
|
619
|
+
# * `needed` - Create the table if it does not exist.
|
620
|
+
# * `never` - The table must already exist. A 'notFound' error is
|
643
621
|
# raised if the table does not exist.
|
644
|
-
#
|
645
|
-
#
|
646
|
-
# The default value is +empty+. (+String+)
|
622
|
+
# @param [String] write Specifies how to handle data already present in
|
623
|
+
# the table. The default value is `empty`.
|
647
624
|
#
|
648
625
|
# The following values are supported:
|
649
|
-
#
|
650
|
-
# *
|
651
|
-
# *
|
626
|
+
#
|
627
|
+
# * `truncate` - BigQuery overwrites the table data.
|
628
|
+
# * `append` - BigQuery appends the data to the table.
|
629
|
+
# * `empty` - An error will be returned if the table already contains
|
652
630
|
# data.
|
653
|
-
#
|
654
|
-
#
|
655
|
-
#
|
656
|
-
#
|
657
|
-
#
|
658
|
-
#
|
659
|
-
#
|
660
|
-
#
|
661
|
-
#
|
662
|
-
#
|
663
|
-
#
|
664
|
-
#
|
665
|
-
#
|
666
|
-
#
|
667
|
-
#
|
668
|
-
#
|
669
|
-
#
|
670
|
-
#
|
671
|
-
#
|
672
|
-
#
|
673
|
-
#
|
674
|
-
#
|
675
|
-
#
|
676
|
-
#
|
677
|
-
#
|
678
|
-
#
|
679
|
-
#
|
680
|
-
#
|
681
|
-
#
|
682
|
-
#
|
683
|
-
# returned in the job result. The default value is +false+. (+Boolean+)
|
684
|
-
#
|
685
|
-
# The +format+ property determines what BigQuery treats as an extra
|
631
|
+
# @param [Array<String>] projection_fields If the `format` option is set
|
632
|
+
# to `datastore_backup`, indicates which entity properties to load from
|
633
|
+
# a Cloud Datastore backup. Property names are case sensitive and must
|
634
|
+
# be top-level properties. If not set, BigQuery loads all properties. If
|
635
|
+
# any named property isn't found in the Cloud Datastore backup, an
|
636
|
+
# invalid error is returned.
|
637
|
+
# @param [Boolean] jagged_rows Accept rows that are missing trailing
|
638
|
+
# optional columns. The missing values are treated as nulls. If `false`,
|
639
|
+
# records with missing trailing columns are treated as bad records, and
|
640
|
+
# if there are too many bad records, an invalid error is returned in the
|
641
|
+
# job result. The default value is `false`. Only applicable to CSV,
|
642
|
+
# ignored for other formats.
|
643
|
+
# @param [Boolean] quoted_newlines Indicates if BigQuery should allow
|
644
|
+
# quoted data sections that contain newline characters in a CSV file.
|
645
|
+
# The default value is `false`.
|
646
|
+
# @param [String] encoding The character encoding of the data. The
|
647
|
+
# supported values are `UTF-8` or `ISO-8859-1`. The default value is
|
648
|
+
# `UTF-8`.
|
649
|
+
# @param [String] delimiter Specifices the separator for fields in a CSV
|
650
|
+
# file. BigQuery converts the string to `ISO-8859-1` encoding, and then
|
651
|
+
# uses the first byte of the encoded string to split the data in its
|
652
|
+
# raw, binary state. Default is <code>,</code>.
|
653
|
+
# @param [Boolean] ignore_unknown Indicates if BigQuery should allow extra
|
654
|
+
# values that are not represented in the table schema. If true, the
|
655
|
+
# extra values are ignored. If false, records with extra columns are
|
656
|
+
# treated as bad records, and if there are too many bad records, an
|
657
|
+
# invalid error is returned in the job result. The default value is
|
658
|
+
# `false`.
|
659
|
+
#
|
660
|
+
# The `format` property determines what BigQuery treats as an extra
|
686
661
|
# value:
|
687
662
|
#
|
688
|
-
# *
|
689
|
-
# *
|
690
|
-
#
|
691
|
-
#
|
692
|
-
#
|
693
|
-
#
|
694
|
-
#
|
695
|
-
#
|
696
|
-
#
|
697
|
-
#
|
698
|
-
#
|
699
|
-
#
|
700
|
-
#
|
701
|
-
#
|
702
|
-
#
|
703
|
-
#
|
704
|
-
#
|
705
|
-
#
|
706
|
-
#
|
707
|
-
#
|
708
|
-
#
|
709
|
-
#
|
710
|
-
#
|
711
|
-
# Gcloud::Bigquery::LoadJob
|
712
|
-
#
|
713
|
-
# === Examples
|
714
|
-
#
|
663
|
+
# * `CSV`: Trailing columns
|
664
|
+
# * `JSON`: Named values that don't match any column names
|
665
|
+
# @param [Integer] max_bad_records The maximum number of bad records that
|
666
|
+
# BigQuery can ignore when running the job. If the number of bad records
|
667
|
+
# exceeds this value, an invalid error is returned in the job result.
|
668
|
+
# The default value is `0`, which requires that all records are valid.
|
669
|
+
# @param [String] quote The value that is used to quote data sections in a
|
670
|
+
# CSV file. BigQuery converts the string to ISO-8859-1 encoding, and
|
671
|
+
# then uses the first byte of the encoded string to split the data in
|
672
|
+
# its raw, binary state. The default value is a double-quote
|
673
|
+
# <code>"</code>. If your data does not contain quoted sections, set the
|
674
|
+
# property value to an empty string. If your data contains quoted
|
675
|
+
# newline characters, you must also set the allowQuotedNewlines property
|
676
|
+
# to true.
|
677
|
+
# @param [Integer] skip_leading The number of rows at the top of a CSV
|
678
|
+
# file that BigQuery will skip when loading the data. The default value
|
679
|
+
# is `0`. This property is useful if you have header rows in the file
|
680
|
+
# that should be skipped.
|
681
|
+
#
|
682
|
+
# @return [Gcloud::Bigquery::LoadJob]
|
683
|
+
#
|
684
|
+
# @example
|
715
685
|
# require "gcloud"
|
716
686
|
#
|
717
687
|
# gcloud = Gcloud.new
|
@@ -721,8 +691,7 @@ module Gcloud
|
|
721
691
|
#
|
722
692
|
# load_job = table.load "gs://my-bucket/file-name.csv"
|
723
693
|
#
|
724
|
-
#
|
725
|
-
#
|
694
|
+
# @example Pass a gcloud storage file instance:
|
726
695
|
# require "gcloud"
|
727
696
|
# require "gcloud/storage"
|
728
697
|
#
|
@@ -736,10 +705,7 @@ module Gcloud
|
|
736
705
|
# file = bucket.file "file-name.csv"
|
737
706
|
# load_job = table.load file
|
738
707
|
#
|
739
|
-
#
|
740
|
-
# See {Loading Data with a POST Request}[
|
741
|
-
# https://cloud.google.com/bigquery/loading-data-post-request#multipart].
|
742
|
-
#
|
708
|
+
# @example Upload a file directly:
|
743
709
|
# require "gcloud"
|
744
710
|
#
|
745
711
|
# gcloud = Gcloud.new
|
@@ -750,19 +716,20 @@ module Gcloud
|
|
750
716
|
# file = File.open "my_data.csv"
|
751
717
|
# load_job = table.load file
|
752
718
|
#
|
753
|
-
#
|
719
|
+
# ### A note about large direct uploads
|
754
720
|
#
|
755
721
|
# You may encounter a Broken pipe (Errno::EPIPE) error when attempting to
|
756
722
|
# upload large files. To avoid this problem, add the
|
757
|
-
#
|
723
|
+
# [httpclient](https://rubygems.org/gems/httpclient) gem to your project,
|
758
724
|
# and the line (or lines) of configuration shown below. These lines must
|
759
725
|
# execute after you require gcloud but before you make your first gcloud
|
760
726
|
# connection. The first statement configures
|
761
|
-
#
|
727
|
+
# [Faraday](https://rubygems.org/gems/faraday) to use httpclient. The
|
762
728
|
# second statement, which should only be added if you are using a version
|
763
|
-
# of Faraday at or above 0.9.2, is a workaround for
|
764
|
-
# issue
|
729
|
+
# of Faraday at or above 0.9.2, is a workaround for [this gzip
|
730
|
+
# issue](https://github.com/GoogleCloudPlatform/gcloud-ruby/issues/367).
|
765
731
|
#
|
732
|
+
# @example
|
766
733
|
# require "gcloud"
|
767
734
|
#
|
768
735
|
# # Use httpclient to avoid broken pipe errors with large uploads
|
@@ -776,7 +743,7 @@ module Gcloud
|
|
776
743
|
# gcloud = Gcloud.new
|
777
744
|
# bigquery = gcloud.bigquery
|
778
745
|
#
|
779
|
-
#
|
746
|
+
# @!group Data
|
780
747
|
#
|
781
748
|
def load file, format: nil, create: nil, write: nil,
|
782
749
|
projection_fields: nil, jagged_rows: nil, quoted_newlines: nil,
|
@@ -798,29 +765,23 @@ module Gcloud
|
|
798
765
|
##
|
799
766
|
# Inserts data into the table for near-immediate querying, without the
|
800
767
|
# need to complete a #load operation before the data can appear in query
|
801
|
-
# results.
|
802
|
-
# }[https://cloud.google.com/bigquery/streaming-data-into-bigquery].
|
768
|
+
# results.
|
803
769
|
#
|
804
|
-
#
|
770
|
+
# @see https://cloud.google.com/bigquery/streaming-data-into-bigquery
|
771
|
+
# Streaming Data Into BigQuery
|
805
772
|
#
|
806
|
-
#
|
807
|
-
#
|
808
|
-
#
|
809
|
-
#
|
810
|
-
#
|
811
|
-
#
|
812
|
-
#
|
813
|
-
#
|
814
|
-
# Accept rows that contain values that do not match the schema. The
|
815
|
-
# unknown values are ignored. Default is false, which treats unknown
|
816
|
-
# values as errors. (+Boolean+)
|
773
|
+
# @param [Hash, Array<Hash>] rows A hash object or array of hash objects
|
774
|
+
# containing the data.
|
775
|
+
# @param [Boolean] skip_invalid Insert all valid rows of a request, even
|
776
|
+
# if invalid rows exist. The default value is `false`, which causes the
|
777
|
+
# entire request to fail if any invalid rows exist.
|
778
|
+
# @param [Boolean] ignore_unknown Accept rows that contain values that do
|
779
|
+
# not match the schema. The unknown values are ignored. Default is
|
780
|
+
# false, which treats unknown values as errors.
|
817
781
|
#
|
818
|
-
#
|
819
|
-
#
|
820
|
-
# Gcloud::Bigquery::InsertResponse
|
821
|
-
#
|
822
|
-
# === Example
|
782
|
+
# @return [Gcloud::Bigquery::InsertResponse]
|
823
783
|
#
|
784
|
+
# @example
|
824
785
|
# require "gcloud"
|
825
786
|
#
|
826
787
|
# gcloud = Gcloud.new
|
@@ -834,7 +795,7 @@ module Gcloud
|
|
834
795
|
# ]
|
835
796
|
# table.insert rows
|
836
797
|
#
|
837
|
-
#
|
798
|
+
# @!group Data
|
838
799
|
#
|
839
800
|
def insert rows, skip_invalid: nil, ignore_unknown: nil
|
840
801
|
rows = [rows] if rows.is_a? Hash
|
@@ -851,12 +812,9 @@ module Gcloud
|
|
851
812
|
##
|
852
813
|
# Permanently deletes the table.
|
853
814
|
#
|
854
|
-
#
|
855
|
-
#
|
856
|
-
# +true+ if the table was deleted.
|
857
|
-
#
|
858
|
-
# === Example
|
815
|
+
# @return [Boolean] Returns `true` if the table was deleted.
|
859
816
|
#
|
817
|
+
# @example
|
860
818
|
# require "gcloud"
|
861
819
|
#
|
862
820
|
# gcloud = Gcloud.new
|
@@ -866,7 +824,7 @@ module Gcloud
|
|
866
824
|
#
|
867
825
|
# table.delete
|
868
826
|
#
|
869
|
-
#
|
827
|
+
# @!group Lifecycle
|
870
828
|
#
|
871
829
|
def delete
|
872
830
|
ensure_connection!
|
@@ -881,7 +839,7 @@ module Gcloud
|
|
881
839
|
##
|
882
840
|
# Reloads the table with current data from the BigQuery service.
|
883
841
|
#
|
884
|
-
#
|
842
|
+
# @!group Lifecycle
|
885
843
|
#
|
886
844
|
def reload!
|
887
845
|
ensure_connection!
|
@@ -895,8 +853,8 @@ module Gcloud
|
|
895
853
|
alias_method :refresh!, :reload!
|
896
854
|
|
897
855
|
##
|
898
|
-
# New Table from a Google API Client object.
|
899
|
-
def self.from_gapi gapi, conn
|
856
|
+
# @private New Table from a Google API Client object.
|
857
|
+
def self.from_gapi gapi, conn
|
900
858
|
klass = class_for gapi
|
901
859
|
klass.new.tap do |f|
|
902
860
|
f.gapi = gapi
|
@@ -967,8 +925,8 @@ module Gcloud
|
|
967
925
|
end
|
968
926
|
|
969
927
|
##
|
970
|
-
# Determines if a resumable upload should be used.
|
971
|
-
def resumable_upload? file
|
928
|
+
# @private Determines if a resumable upload should be used.
|
929
|
+
def resumable_upload? file
|
972
930
|
::File.size?(file).to_i > Upload.resumable_threshold
|
973
931
|
end
|
974
932
|
|