kura 0.4.4 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ChangeLog.md +10 -0
- data/lib/kura/client.rb +37 -28
- data/lib/kura/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f06565ca49829ddf17062a4b3bc3a060a38e44c19d1d9f30636cec01aef67c3
|
4
|
+
data.tar.gz: d5a577529bbd9313f3923f91298fa5897af42c8cc50db8a82af13179a3fb129f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '08a14f0ec78b5e6635975cc5a9d39b5e85f9a25eca3041c6edd3e0034331284612bb4c4a869d413edee8f599f7b6b07a70d6958be2e82f493f8e7e2cc08a1136'
|
7
|
+
data.tar.gz: e2eb76c7c84f1585bc474b6d7f4f8825b3f6a545de9e110faa5b868818e50ff591b75b80cf47332636d62632d9b9b64d6df01c05559e1fe1e0edb4b33e5cd35b
|
data/ChangeLog.md
CHANGED
data/lib/kura/client.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
+
require "time"
|
3
4
|
require "json"
|
4
5
|
require "google/apis/bigquery_v2"
|
5
6
|
require "googleauth"
|
@@ -268,6 +269,8 @@ module Kura
|
|
268
269
|
end
|
269
270
|
when "BOOLEAN"
|
270
271
|
x.to_s == "true"
|
272
|
+
when "TIMESTAMP"
|
273
|
+
Time.at(Float(x)).utc.iso8601(6)
|
271
274
|
when "RECORD"
|
272
275
|
_convert_tabledata_row(x, field_info["fields"])
|
273
276
|
else
|
@@ -409,16 +412,16 @@ module Kura
|
|
409
412
|
wait: nil,
|
410
413
|
dry_run: false,
|
411
414
|
&blk)
|
412
|
-
configuration = Google::Apis::BigqueryV2::JobConfiguration.new(
|
413
|
-
query: Google::Apis::BigqueryV2::JobConfigurationQuery.new(
|
415
|
+
configuration = Google::Apis::BigqueryV2::JobConfiguration.new(
|
416
|
+
query: Google::Apis::BigqueryV2::JobConfigurationQuery.new(
|
414
417
|
query: sql,
|
415
418
|
allow_large_results: normalize_parameter(allow_large_results),
|
416
419
|
flatten_results: normalize_parameter(flatten_results),
|
417
420
|
priority: priority,
|
418
421
|
use_query_cache: normalize_parameter(use_query_cache),
|
419
422
|
use_legacy_sql: use_legacy_sql,
|
420
|
-
|
421
|
-
|
423
|
+
)
|
424
|
+
)
|
422
425
|
if mode
|
423
426
|
configuration.query.write_disposition = mode_to_write_disposition(mode)
|
424
427
|
end
|
@@ -433,15 +436,15 @@ module Kura
|
|
433
436
|
configuration.query.maximum_bytes_billed = maximum_bytes_billed
|
434
437
|
end
|
435
438
|
if dataset_id and table_id
|
436
|
-
configuration.query.destination_table = Google::Apis::BigqueryV2::TableReference.new(
|
439
|
+
configuration.query.destination_table = Google::Apis::BigqueryV2::TableReference.new(project_id: project_id, dataset_id: dataset_id, table_id: table_id)
|
437
440
|
end
|
438
441
|
if user_defined_function_resources
|
439
442
|
configuration.query.user_defined_function_resources = Array(user_defined_function_resources).map do |r|
|
440
443
|
r = r.to_s
|
441
444
|
if r.start_with?("gs://")
|
442
|
-
Google::Apis::BigqueryV2::UserDefinedFunctionResource.new(
|
445
|
+
Google::Apis::BigqueryV2::UserDefinedFunctionResource.new(resource_uri: r)
|
443
446
|
else
|
444
|
-
Google::Apis::BigqueryV2::UserDefinedFunctionResource.new(
|
447
|
+
Google::Apis::BigqueryV2::UserDefinedFunctionResource.new(inline_code: r)
|
445
448
|
end
|
446
449
|
end
|
447
450
|
end
|
@@ -459,6 +462,9 @@ module Kura
|
|
459
462
|
type: (s[:type] || s["type"]),
|
460
463
|
mode: (s[:mode] || s["mode"]),
|
461
464
|
}
|
465
|
+
if (desc = (s[:description] || s["description"]))
|
466
|
+
f[:description] = desc
|
467
|
+
end
|
462
468
|
if (sub_fields = (s[:fields] || s["fields"]))
|
463
469
|
f[:fields] = normalize_schema(sub_fields)
|
464
470
|
end
|
@@ -468,6 +474,9 @@ module Kura
|
|
468
474
|
type: s.type,
|
469
475
|
mode: s.mode,
|
470
476
|
}
|
477
|
+
if s.respond_to?(:description)
|
478
|
+
f[:description] = s.description
|
479
|
+
end
|
471
480
|
if (sub_fields = s.fields)
|
472
481
|
f[:fields] = normalize_schema(sub_fields)
|
473
482
|
end
|
@@ -493,26 +502,26 @@ module Kura
|
|
493
502
|
&blk)
|
494
503
|
write_disposition = mode_to_write_disposition(mode)
|
495
504
|
source_uris = [source_uris] if source_uris.is_a?(String)
|
496
|
-
configuration = Google::Apis::BigqueryV2::JobConfiguration.new(
|
497
|
-
load: Google::Apis::BigqueryV2::JobConfigurationLoad.new(
|
498
|
-
destination_table: Google::Apis::BigqueryV2::TableReference.new(
|
505
|
+
configuration = Google::Apis::BigqueryV2::JobConfiguration.new(
|
506
|
+
load: Google::Apis::BigqueryV2::JobConfigurationLoad.new(
|
507
|
+
destination_table: Google::Apis::BigqueryV2::TableReference.new(
|
499
508
|
project_id: project_id,
|
500
509
|
dataset_id: dataset_id,
|
501
510
|
table_id: table_id,
|
502
|
-
|
511
|
+
),
|
503
512
|
write_disposition: write_disposition,
|
504
513
|
allow_jagged_rows: normalize_parameter(allow_jagged_rows),
|
505
514
|
max_bad_records: max_bad_records,
|
506
515
|
ignore_unknown_values: normalize_parameter(ignore_unknown_values),
|
507
516
|
source_format: source_format,
|
508
|
-
|
509
|
-
|
517
|
+
)
|
518
|
+
)
|
510
519
|
if dry_run
|
511
520
|
configuration.dry_run = true
|
512
521
|
wait = nil
|
513
522
|
end
|
514
523
|
if schema
|
515
|
-
configuration.load.schema = Google::Apis::BigqueryV2::TableSchema.new(
|
524
|
+
configuration.load.schema = Google::Apis::BigqueryV2::TableSchema.new(fields: normalize_schema(schema))
|
516
525
|
end
|
517
526
|
if source_format == "CSV"
|
518
527
|
configuration.load.field_delimiter = field_delimiter
|
@@ -541,18 +550,18 @@ module Kura
|
|
541
550
|
dry_run: false,
|
542
551
|
&blk)
|
543
552
|
dest_uris = [ dest_uris ] if dest_uris.is_a?(String)
|
544
|
-
configuration = Google::Apis::BigqueryV2::JobConfiguration.new(
|
545
|
-
extract: Google::Apis::BigqueryV2::JobConfigurationExtract.new(
|
553
|
+
configuration = Google::Apis::BigqueryV2::JobConfiguration.new(
|
554
|
+
extract: Google::Apis::BigqueryV2::JobConfigurationExtract.new(
|
546
555
|
compression: compression,
|
547
556
|
destination_format: destination_format,
|
548
|
-
source_table: Google::Apis::BigqueryV2::TableReference.new(
|
557
|
+
source_table: Google::Apis::BigqueryV2::TableReference.new(
|
549
558
|
project_id: project_id,
|
550
559
|
dataset_id: dataset_id,
|
551
560
|
table_id: table_id,
|
552
|
-
|
561
|
+
),
|
553
562
|
destination_uris: dest_uris,
|
554
|
-
|
555
|
-
|
563
|
+
)
|
564
|
+
)
|
556
565
|
if dry_run
|
557
566
|
configuration.dry_run = true
|
558
567
|
wait = nil
|
@@ -574,21 +583,21 @@ module Kura
|
|
574
583
|
dry_run: false,
|
575
584
|
&blk)
|
576
585
|
write_disposition = mode_to_write_disposition(mode)
|
577
|
-
configuration = Google::Apis::BigqueryV2::JobConfiguration.new(
|
578
|
-
copy: Google::Apis::BigqueryV2::JobConfigurationTableCopy.new(
|
579
|
-
destination_table: Google::Apis::BigqueryV2::TableReference.new(
|
586
|
+
configuration = Google::Apis::BigqueryV2::JobConfiguration.new(
|
587
|
+
copy: Google::Apis::BigqueryV2::JobConfigurationTableCopy.new(
|
588
|
+
destination_table: Google::Apis::BigqueryV2::TableReference.new(
|
580
589
|
project_id: dest_project_id,
|
581
590
|
dataset_id: dest_dataset_id,
|
582
591
|
table_id: dest_table_id,
|
583
|
-
|
584
|
-
source_table: Google::Apis::BigqueryV2::TableReference.new(
|
592
|
+
),
|
593
|
+
source_table: Google::Apis::BigqueryV2::TableReference.new(
|
585
594
|
project_id: src_project_id,
|
586
595
|
dataset_id: src_dataset_id,
|
587
596
|
table_id: src_table_id,
|
588
|
-
|
597
|
+
),
|
589
598
|
write_disposition: write_disposition,
|
590
|
-
|
591
|
-
|
599
|
+
)
|
600
|
+
)
|
592
601
|
if dry_run
|
593
602
|
configuration.dry_run = true
|
594
603
|
wait = nil
|
data/lib/kura/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kura
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chikanaga Tomoyuki
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-api-client
|
@@ -139,7 +139,7 @@ homepage: https://github.com/nagachika/kura/
|
|
139
139
|
licenses:
|
140
140
|
- MIT
|
141
141
|
metadata: {}
|
142
|
-
post_install_message:
|
142
|
+
post_install_message:
|
143
143
|
rdoc_options: []
|
144
144
|
require_paths:
|
145
145
|
- lib
|
@@ -154,8 +154,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
154
|
- !ruby/object:Gem::Version
|
155
155
|
version: '0'
|
156
156
|
requirements: []
|
157
|
-
rubygems_version: 3.1.
|
158
|
-
signing_key:
|
157
|
+
rubygems_version: 3.1.4
|
158
|
+
signing_key:
|
159
159
|
specification_version: 4
|
160
160
|
summary: Interface to BigQuery API v2.
|
161
161
|
test_files: []
|