embulk-output-bigquery 0.6.9 → 0.7.1
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/.github/workflows/check.yml +42 -0
- data/.github/workflows/publish.yml +41 -0
- data/CHANGELOG.md +9 -0
- data/Gemfile +1 -2
- data/README.md +9 -2
- data/embulk-output-bigquery.gemspec +8 -12
- data/lib/embulk/output/bigquery/bigquery_client.rb +6 -5
- data/lib/embulk/output/bigquery/helper.rb +5 -4
- data/lib/embulk/output/bigquery.rb +2 -0
- data/test/helper.rb +7 -7
- data/test/test_helper.rb +2 -2
- data/test/test_transaction.rb +7 -7
- metadata +25 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4fba97c5f4a2935df80c4c4efb7f389c9818f221773c856b5f490f8e3e65c172
|
4
|
+
data.tar.gz: e6949d104a822c586dc65180aff030af3da963a535a9e2ca3a9ac5b93f706527
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 695c2c596d172eed178ddf34e12b985c7179cff73924d316641e77e4ee52465bb79d94d7e7c1141a7831859fe44d15cfd28b6f7aa0b409ce0d57626ac83abea9
|
7
|
+
data.tar.gz: c48f7b6ce8df9141f2c716ffec0d0786fc5aa87cad034fffeb6df5055236cb5dff651f41f17580a6041b769cfd9198be36656909b87e1c844a694faef42616fa
|
@@ -0,0 +1,42 @@
|
|
1
|
+
name: Check
|
2
|
+
on: [ pull_request, push ]
|
3
|
+
jobs:
|
4
|
+
check:
|
5
|
+
runs-on: ubuntu-latest
|
6
|
+
# push: always run.
|
7
|
+
# pull_request: run only when the PR is submitted from a forked repository, not within this repository.
|
8
|
+
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
|
9
|
+
strategy:
|
10
|
+
matrix:
|
11
|
+
jruby_version:
|
12
|
+
- 9.3.10.0
|
13
|
+
- 9.4.2.0
|
14
|
+
fail-fast: false
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v4
|
17
|
+
- name: Set up OpenJDK 8
|
18
|
+
uses: actions/setup-java@v4
|
19
|
+
with:
|
20
|
+
java-version: 8
|
21
|
+
distribution: "temurin"
|
22
|
+
- uses: ruby/setup-ruby@v1
|
23
|
+
with:
|
24
|
+
ruby-version: 'jruby-${{ matrix.jruby_version }}'
|
25
|
+
bundler-cache: true
|
26
|
+
- name: show ruby version
|
27
|
+
run: ruby -v
|
28
|
+
- name: bundle install
|
29
|
+
run: bundle install
|
30
|
+
#
|
31
|
+
# This step avoids the following error in the JRuby 9.4 test.
|
32
|
+
#
|
33
|
+
# Gem::LoadError: You have already activated rake 13.0.6,
|
34
|
+
# but your Gemfile requires rake 13.1.0. Prepending
|
35
|
+
# `bundle exec` to your command may solve this.
|
36
|
+
#
|
37
|
+
- name: install rake 13.1.0
|
38
|
+
run: gem install rake -v 13.1.0
|
39
|
+
- name: install embulk.jar
|
40
|
+
run: "curl -L -o embulk.jar https://github.com/embulk/embulk/releases/download/v0.10.49/embulk-0.10.49.jar"
|
41
|
+
- name: rake test
|
42
|
+
run: bundle exec env RUBYOPT="-r ./embulk.jar" rake test
|
@@ -0,0 +1,41 @@
|
|
1
|
+
name: Publish
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
tags:
|
5
|
+
- "v0.*"
|
6
|
+
jobs:
|
7
|
+
publish:
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
environment: maven-central-and-ruby-gems
|
10
|
+
strategy:
|
11
|
+
fail-fast: true
|
12
|
+
steps:
|
13
|
+
- uses: actions/checkout@v4
|
14
|
+
- name: Set up Ruby
|
15
|
+
uses: ruby/setup-ruby@v1
|
16
|
+
with:
|
17
|
+
ruby-version: 3.3.0
|
18
|
+
# get tag variable using {{ github.ref_name }}
|
19
|
+
#
|
20
|
+
# References:
|
21
|
+
# * https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
|
22
|
+
# * https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
|
23
|
+
- name: extract gem version from tag
|
24
|
+
id: vars
|
25
|
+
run: echo version=${{ github.ref_name }} | sed -e 's/v0/0/' >> $GITHUB_OUTPUT
|
26
|
+
#
|
27
|
+
# From gem push documents.
|
28
|
+
#
|
29
|
+
# The push command will use ~/.gem/credentials to authenticate to a server,
|
30
|
+
# but you can use the RubyGems environment variable GEM_HOST_API_KEY
|
31
|
+
# to set the api key to authenticate.
|
32
|
+
#
|
33
|
+
# https://guides.rubygems.org/command-reference/#gem-push
|
34
|
+
#
|
35
|
+
- name: Publish
|
36
|
+
run: |
|
37
|
+
rake build
|
38
|
+
gem push pkg/${EMBULK_PLUGIN_NAME}-${{ steps.vars.outputs.version }}.gem
|
39
|
+
env:
|
40
|
+
EMBULK_PLUGIN_NAME: embulk-output-bigquery
|
41
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_API_KEY}}"
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
## 0.7.1 - 2024-03-4
|
2
|
+
* [enhancement] Support description of columns and tables (Thanks to @kyoshidajp and @fagai ) #142
|
3
|
+
* [maintenance] Add missing GitHub Actions environment setting. #160
|
4
|
+
* [maintenance] Replace google-api-client with specific Google APIs (Thanks to @Nozomuts) #161
|
5
|
+
* [maintenance] Update GitHub Actions use checkout@v4 and setup-java@v4 #162
|
6
|
+
|
7
|
+
## 0.7.0 - 2024-02-1
|
8
|
+
* [enhancement] Add support Embulk 0.11.x
|
9
|
+
|
1
10
|
## 0.6.9 - 2023-03-16
|
2
11
|
* [enhancement] Add SSLException to retry job (thanks to @mzumi)
|
3
12
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# embulk-output-bigquery
|
2
2
|
|
3
|
-
[](http://travis-ci.org/embulk/embulk-output-bigquery)
|
4
|
-
|
5
3
|
[Embulk](https://github.com/embulk/embulk/) output plugin to load/insert data into [Google BigQuery](https://cloud.google.com/bigquery/) using [direct insert](https://cloud.google.com/bigquery/loading-data-into-bigquery#loaddatapostrequest)
|
6
4
|
|
7
5
|
## Overview
|
@@ -14,6 +12,13 @@ https://developers.google.com/bigquery/loading-data-into-bigquery
|
|
14
12
|
* **Cleanup supported**: no
|
15
13
|
* **Dynamic table creating**: yes
|
16
14
|
|
15
|
+
### Supported Embulk
|
16
|
+
|
17
|
+
| gem version | Embulk version |
|
18
|
+
|------------------|--------------------|
|
19
|
+
| 0.7.0 and higher | v0.11.0 and higher |
|
20
|
+
| 0.6.9 and lower | v0.9.X and lower |
|
21
|
+
|
17
22
|
### NOT IMPLEMENTED
|
18
23
|
* insert data over streaming inserts
|
19
24
|
* for continuous real-time insertions
|
@@ -55,6 +60,7 @@ OAuth flow for installed applications.
|
|
55
60
|
| gcs_bucket | string | optional | nil | See [GCS Bucket](#gcs-bucket) |
|
56
61
|
| auto_create_gcs_bucket | boolean | optional | false | See [GCS Bucket](#gcs-bucket) |
|
57
62
|
| progress_log_interval | float | optional | nil (Disabled) | Progress log interval. The progress log is disabled by nil (default). NOTE: This option may be removed in a future because a filter plugin can achieve the same goal |
|
63
|
+
| description | string | optional | nil | description of table |
|
58
64
|
|
59
65
|
Client or request options
|
60
66
|
|
@@ -324,6 +330,7 @@ Column options are used to aid guessing BigQuery schema, or to define conversion
|
|
324
330
|
- json: `STRING`, `RECORD` (default: `STRING`)
|
325
331
|
- **mode**: BigQuery mode such as `NULLABLE`, `REQUIRED`, and `REPEATED` (string, default: `NULLABLE`)
|
326
332
|
- **fields**: Describes the nested schema fields if the type property is set to RECORD. Please note that this is **required** for `RECORD` column.
|
333
|
+
- **description**: description (string, default is `None`).
|
327
334
|
- **timestamp_format**: timestamp format to convert into/from `timestamp` (string, default is `default_timestamp_format`)
|
328
335
|
- **timezone**: timezone to convert into/from `timestamp`, `date` (string, default is `default_timezone`).
|
329
336
|
- **default_timestamp_format**: default timestamp format for column_options (string, default is "%Y-%m-%d %H:%M:%S.%6N")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = "embulk-output-bigquery"
|
3
|
-
spec.version = "0.
|
3
|
+
spec.version = "0.7.1"
|
4
4
|
spec.authors = ["Satoshi Akama", "Naotoshi Seo"]
|
5
5
|
spec.summary = "Google BigQuery output plugin for Embulk"
|
6
6
|
spec.description = "Embulk plugin that insert records to Google BigQuery."
|
@@ -14,18 +14,14 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.test_files = spec.files.grep(%r{^(test|spec)/})
|
15
15
|
spec.require_paths = ["lib"]
|
16
16
|
|
17
|
-
#
|
18
|
-
|
19
|
-
|
20
|
-
# So, force install signet < 0.12 and google-api-client < 0.33.0
|
21
|
-
# Also, representable version >= 3.1.0 requires Ruby version >= 2.4
|
22
|
-
spec.add_dependency 'signet', '~> 0.7', '< 0.12.0'
|
23
|
-
spec.add_dependency 'google-api-client','< 0.33.0'
|
17
|
+
# the latest version
|
18
|
+
spec.add_dependency 'google-apis-storage_v1'
|
19
|
+
spec.add_dependency 'google-apis-bigquery_v2'
|
24
20
|
spec.add_dependency 'time_with_zone'
|
25
|
-
spec.add_dependency
|
26
|
-
#
|
27
|
-
#
|
28
|
-
spec.add_dependency
|
21
|
+
spec.add_dependency 'thwait'
|
22
|
+
# activesupport require Ruby >= 2.7.0
|
23
|
+
# jruby-9.3.0.0 is MRI 2.6 compatible
|
24
|
+
spec.add_dependency 'activesupport', "< 7.0"
|
29
25
|
|
30
26
|
spec.add_development_dependency 'bundler', ['>= 1.10.6']
|
31
27
|
spec.add_development_dependency 'rake', ['>= 10.0']
|
@@ -121,7 +121,7 @@ module Embulk
|
|
121
121
|
opts = {}
|
122
122
|
|
123
123
|
Embulk.logger.debug { "embulk-output-bigquery: insert_job(#{@project}, #{body}, #{opts})" }
|
124
|
-
response = with_network_retry { client.insert_job(@project, body, opts) }
|
124
|
+
response = with_network_retry { client.insert_job(@project, body, **opts) }
|
125
125
|
unless @task['is_skip_job_result_check']
|
126
126
|
response = wait_load('Load', response)
|
127
127
|
end
|
@@ -222,7 +222,7 @@ module Embulk
|
|
222
222
|
# },
|
223
223
|
}
|
224
224
|
Embulk.logger.debug { "embulk-output-bigquery: insert_job(#{@project}, #{body}, #{opts})" }
|
225
|
-
response = with_network_retry { client.insert_job(@project, body, opts) }
|
225
|
+
response = with_network_retry { client.insert_job(@project, body, **opts) }
|
226
226
|
if @task['is_skip_job_result_check']
|
227
227
|
response
|
228
228
|
else
|
@@ -278,7 +278,7 @@ module Embulk
|
|
278
278
|
|
279
279
|
opts = {}
|
280
280
|
Embulk.logger.debug { "embulk-output-bigquery: insert_job(#{@project}, #{body}, #{opts})" }
|
281
|
-
response = with_network_retry { client.insert_job(@project, body, opts) }
|
281
|
+
response = with_network_retry { client.insert_job(@project, body, **opts) }
|
282
282
|
wait_load('Copy', response)
|
283
283
|
rescue Google::Apis::ServerError, Google::Apis::ClientError, Google::Apis::AuthorizationError => e
|
284
284
|
response = {status_code: e.status_code, message: e.message, error_class: e.class}
|
@@ -372,7 +372,7 @@ module Embulk
|
|
372
372
|
end
|
373
373
|
opts = {}
|
374
374
|
Embulk.logger.debug { "embulk-output-bigquery: insert_dataset(#{@project}, #{dataset}, #{@location_for_log}, #{body}, #{opts})" }
|
375
|
-
with_network_retry { client.insert_dataset(@project, body, opts) }
|
375
|
+
with_network_retry { client.insert_dataset(@project, body, **opts) }
|
376
376
|
rescue Google::Apis::ServerError, Google::Apis::ClientError, Google::Apis::AuthorizationError => e
|
377
377
|
if e.status_code == 409 && /Already Exists:/ =~ e.message
|
378
378
|
# ignore 'Already Exists' error
|
@@ -420,6 +420,7 @@ module Embulk
|
|
420
420
|
table_reference: {
|
421
421
|
table_id: table,
|
422
422
|
},
|
423
|
+
description: @task['description'],
|
423
424
|
schema: {
|
424
425
|
fields: fields,
|
425
426
|
}
|
@@ -447,7 +448,7 @@ module Embulk
|
|
447
448
|
|
448
449
|
opts = {}
|
449
450
|
Embulk.logger.debug { "embulk-output-bigquery: insert_table(#{@project}, #{dataset}, #{@location_for_log}, #{body}, #{opts})" }
|
450
|
-
with_network_retry { client.insert_table(@project, dataset, body, opts) }
|
451
|
+
with_network_retry { client.insert_table(@project, dataset, body, **opts) }
|
451
452
|
rescue Google::Apis::ServerError, Google::Apis::ClientError, Google::Apis::AuthorizationError => e
|
452
453
|
if e.status_code == 409 && /Already Exists:/ =~ e.message
|
453
454
|
# ignore 'Already Exists' error
|
@@ -46,10 +46,11 @@ module Embulk
|
|
46
46
|
embulk_type = column[:type]
|
47
47
|
column_option = column_options_map[column_name] || {}
|
48
48
|
{}.tap do |field|
|
49
|
-
field[:name]
|
50
|
-
field[:type]
|
51
|
-
field[:mode]
|
52
|
-
field[:fields]
|
49
|
+
field[:name] = column_name
|
50
|
+
field[:type] = (column_option['type'] || bq_type_from_embulk_type(embulk_type)).upcase
|
51
|
+
field[:mode] = column_option['mode'] if column_option['mode']
|
52
|
+
field[:fields] = deep_symbolize_keys(column_option['fields']) if column_option['fields']
|
53
|
+
field[:description] = column_option['description'] if column_option['description']
|
53
54
|
end
|
54
55
|
end
|
55
56
|
end
|
@@ -63,6 +63,8 @@ module Embulk
|
|
63
63
|
'payload_column' => config.param('payload_column', :string, :default => nil),
|
64
64
|
'payload_column_index' => config.param('payload_column_index', :integer, :default => nil),
|
65
65
|
|
66
|
+
'description' => config.param('description', :string, :default => nil),
|
67
|
+
|
66
68
|
'open_timeout_sec' => config.param('open_timeout_sec', :integer, :default => nil),
|
67
69
|
'timeout_sec' => config.param('timeout_sec', :integer, :default => nil), # google-api-ruby-client < v0.11.0
|
68
70
|
'send_timeout_sec' => config.param('send_timeout_sec', :integer, :default => nil), # google-api-ruby-client >= v0.11.0
|
data/test/helper.rb
CHANGED
@@ -4,14 +4,14 @@ require 'bundler/setup'
|
|
4
4
|
require 'test/unit'
|
5
5
|
require 'test/unit/rr'
|
6
6
|
|
7
|
+
# Embulk 0.10.x introduced new bootstrap mechanism.
|
8
|
+
# https://github.com/embulk/embulk/blob/641f35fec064cca7b1a7314d634a4b64ef8637f1/embulk-ruby/test/vanilla/run-test.rb#L8-L13
|
9
|
+
static_initializer = Java::org.embulk.EmbulkDependencyClassLoader.staticInitializer().useSelfContainedJarFiles()
|
10
|
+
static_initializer.java_send :initialize
|
11
|
+
|
12
|
+
require 'embulk/java/bootstrap'
|
7
13
|
require 'embulk'
|
8
|
-
|
9
|
-
# Embulk ~> 0.8.x
|
10
|
-
Embulk.setup
|
11
|
-
rescue NotImplementedError, NoMethodError, NameError
|
12
|
-
# Embulk ~> 0.9.x
|
13
|
-
require 'embulk/java/bootstrap'
|
14
|
-
end
|
14
|
+
|
15
15
|
Embulk.logger = Embulk::Logger.new('/dev/null')
|
16
16
|
|
17
17
|
APP_ROOT = File.expand_path('../', __dir__)
|
data/test/test_helper.rb
CHANGED
@@ -68,7 +68,7 @@ module Embulk
|
|
68
68
|
])
|
69
69
|
task = {
|
70
70
|
'column_options' => [
|
71
|
-
{'name' => 'boolean', 'type' => 'STRING', 'mode' => 'REQUIRED'},
|
71
|
+
{'name' => 'boolean', 'type' => 'STRING', 'mode' => 'REQUIRED', 'description' => 'hoge'},
|
72
72
|
{'name' => 'long', 'type' => 'STRING'},
|
73
73
|
{'name' => 'double', 'type' => 'STRING'},
|
74
74
|
{'name' => 'string', 'type' => 'INTEGER'},
|
@@ -81,7 +81,7 @@ module Embulk
|
|
81
81
|
],
|
82
82
|
}
|
83
83
|
expected = [
|
84
|
-
{name: 'boolean',
|
84
|
+
{name: 'boolean', type: 'STRING', mode: 'REQUIRED', description: 'hoge'},
|
85
85
|
{name: 'long', type: 'STRING'},
|
86
86
|
{name: 'double', type: 'STRING'},
|
87
87
|
{name: 'string', type: 'INTEGER'},
|
data/test/test_transaction.rb
CHANGED
@@ -109,7 +109,7 @@ module Embulk
|
|
109
109
|
task = Bigquery.configure(config, schema, processor_count)
|
110
110
|
any_instance_of(BigqueryClient) do |obj|
|
111
111
|
mock(obj).get_dataset(config['dataset'])
|
112
|
-
mock(obj).create_table_if_not_exists(config['temp_table'])
|
112
|
+
mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
|
113
113
|
mock(obj).create_table_if_not_exists(config['table'])
|
114
114
|
mock(obj).copy(config['temp_table'], config['table'], write_disposition: 'WRITE_TRUNCATE')
|
115
115
|
mock(obj).delete_table(config['temp_table'])
|
@@ -122,7 +122,7 @@ module Embulk
|
|
122
122
|
task = Bigquery.configure(config, schema, processor_count)
|
123
123
|
any_instance_of(BigqueryClient) do |obj|
|
124
124
|
mock(obj).get_dataset(config['dataset'])
|
125
|
-
mock(obj).create_table_if_not_exists(config['temp_table'])
|
125
|
+
mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
|
126
126
|
mock(obj).create_table_if_not_exists(config['table'])
|
127
127
|
mock(obj).copy(config['temp_table'], config['table'], write_disposition: 'WRITE_TRUNCATE')
|
128
128
|
mock(obj).delete_table(config['temp_table'])
|
@@ -138,7 +138,7 @@ module Embulk
|
|
138
138
|
any_instance_of(BigqueryClient) do |obj|
|
139
139
|
mock(obj).get_dataset(config['dataset'])
|
140
140
|
mock(obj).get_dataset(config['dataset_old'])
|
141
|
-
mock(obj).create_table_if_not_exists(config['temp_table'])
|
141
|
+
mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
|
142
142
|
mock(obj).create_table_if_not_exists(config['table'])
|
143
143
|
mock(obj).create_table_if_not_exists(config['table_old'], dataset: config['dataset_old'])
|
144
144
|
|
@@ -158,7 +158,7 @@ module Embulk
|
|
158
158
|
mock(obj).create_dataset(config['dataset'])
|
159
159
|
mock(obj).create_dataset(config['dataset_old'], reference: config['dataset'])
|
160
160
|
mock(obj).create_table_if_not_exists(config['table'])
|
161
|
-
mock(obj).create_table_if_not_exists(config['temp_table'])
|
161
|
+
mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
|
162
162
|
mock(obj).create_table_if_not_exists(config['table_old'], dataset: config['dataset_old'])
|
163
163
|
|
164
164
|
mock(obj).get_table_or_partition(config['table'])
|
@@ -176,7 +176,7 @@ module Embulk
|
|
176
176
|
any_instance_of(BigqueryClient) do |obj|
|
177
177
|
mock(obj).get_dataset(config['dataset'])
|
178
178
|
mock(obj).get_dataset(config['dataset_old'])
|
179
|
-
mock(obj).create_table_if_not_exists(config['temp_table'])
|
179
|
+
mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
|
180
180
|
mock(obj).create_table_if_not_exists(config['table'])
|
181
181
|
mock(obj).create_table_if_not_exists(config['table_old'], dataset: config['dataset_old'])
|
182
182
|
|
@@ -196,7 +196,7 @@ module Embulk
|
|
196
196
|
task = Bigquery.configure(config, schema, processor_count)
|
197
197
|
any_instance_of(BigqueryClient) do |obj|
|
198
198
|
mock(obj).get_dataset(config['dataset'])
|
199
|
-
mock(obj).create_table_if_not_exists(config['temp_table'])
|
199
|
+
mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
|
200
200
|
mock(obj).create_table_if_not_exists(config['table'])
|
201
201
|
mock(obj).copy(config['temp_table'], config['table'], write_disposition: 'WRITE_APPEND')
|
202
202
|
mock(obj).delete_table(config['temp_table'])
|
@@ -209,7 +209,7 @@ module Embulk
|
|
209
209
|
task = Bigquery.configure(config, schema, processor_count)
|
210
210
|
any_instance_of(BigqueryClient) do |obj|
|
211
211
|
mock(obj).get_dataset(config['dataset'])
|
212
|
-
mock(obj).create_table_if_not_exists(config['temp_table'])
|
212
|
+
mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
|
213
213
|
mock(obj).create_table_if_not_exists(config['table'])
|
214
214
|
mock(obj).copy(config['temp_table'], config['table'], write_disposition: 'WRITE_APPEND')
|
215
215
|
mock(obj).delete_table(config['temp_table'])
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: embulk-output-bigquery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Satoshi Akama
|
@@ -9,42 +9,36 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-03-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: google-apis-storage_v1
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: '0.7'
|
21
|
-
- - "<"
|
18
|
+
- - ">="
|
22
19
|
- !ruby/object:Gem::Version
|
23
|
-
version: 0
|
20
|
+
version: '0'
|
24
21
|
type: :runtime
|
25
22
|
prerelease: false
|
26
23
|
version_requirements: !ruby/object:Gem::Requirement
|
27
24
|
requirements:
|
28
|
-
- - "
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
version: '0.7'
|
31
|
-
- - "<"
|
25
|
+
- - ">="
|
32
26
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0
|
27
|
+
version: '0'
|
34
28
|
- !ruby/object:Gem::Dependency
|
35
|
-
name: google-
|
29
|
+
name: google-apis-bigquery_v2
|
36
30
|
requirement: !ruby/object:Gem::Requirement
|
37
31
|
requirements:
|
38
|
-
- - "
|
32
|
+
- - ">="
|
39
33
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0
|
34
|
+
version: '0'
|
41
35
|
type: :runtime
|
42
36
|
prerelease: false
|
43
37
|
version_requirements: !ruby/object:Gem::Requirement
|
44
38
|
requirements:
|
45
|
-
- - "
|
39
|
+
- - ">="
|
46
40
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0
|
41
|
+
version: '0'
|
48
42
|
- !ruby/object:Gem::Dependency
|
49
43
|
name: time_with_zone
|
50
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -60,39 +54,33 @@ dependencies:
|
|
60
54
|
- !ruby/object:Gem::Version
|
61
55
|
version: '0'
|
62
56
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
57
|
+
name: thwait
|
64
58
|
requirement: !ruby/object:Gem::Requirement
|
65
59
|
requirements:
|
66
|
-
- - "
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 3.0.0
|
69
|
-
- - "<"
|
60
|
+
- - ">="
|
70
61
|
- !ruby/object:Gem::Version
|
71
|
-
version: '
|
62
|
+
version: '0'
|
72
63
|
type: :runtime
|
73
64
|
prerelease: false
|
74
65
|
version_requirements: !ruby/object:Gem::Requirement
|
75
66
|
requirements:
|
76
|
-
- - "
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version: 3.0.0
|
79
|
-
- - "<"
|
67
|
+
- - ">="
|
80
68
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
69
|
+
version: '0'
|
82
70
|
- !ruby/object:Gem::Dependency
|
83
|
-
name:
|
71
|
+
name: activesupport
|
84
72
|
requirement: !ruby/object:Gem::Requirement
|
85
73
|
requirements:
|
86
|
-
- - "
|
74
|
+
- - "<"
|
87
75
|
- !ruby/object:Gem::Version
|
88
|
-
version: '0
|
76
|
+
version: '7.0'
|
89
77
|
type: :runtime
|
90
78
|
prerelease: false
|
91
79
|
version_requirements: !ruby/object:Gem::Requirement
|
92
80
|
requirements:
|
93
|
-
- - "
|
81
|
+
- - "<"
|
94
82
|
- !ruby/object:Gem::Version
|
95
|
-
version: '0
|
83
|
+
version: '7.0'
|
96
84
|
- !ruby/object:Gem::Dependency
|
97
85
|
name: bundler
|
98
86
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,6 +117,8 @@ executables: []
|
|
129
117
|
extensions: []
|
130
118
|
extra_rdoc_files: []
|
131
119
|
files:
|
120
|
+
- ".github/workflows/check.yml"
|
121
|
+
- ".github/workflows/publish.yml"
|
132
122
|
- ".gitignore"
|
133
123
|
- ".travis.yml"
|
134
124
|
- CHANGELOG.md
|
@@ -172,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
172
162
|
- !ruby/object:Gem::Version
|
173
163
|
version: '0'
|
174
164
|
requirements: []
|
175
|
-
rubygems_version: 3.3
|
165
|
+
rubygems_version: 3.5.3
|
176
166
|
signing_key:
|
177
167
|
specification_version: 4
|
178
168
|
summary: Google BigQuery output plugin for Embulk
|