fluent-plugin-redshift-out 0.0.1 → 0.1.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.
data/README.md CHANGED
@@ -14,7 +14,7 @@ Amazon Redshift output plugin uploads event logs to an Amazon Redshift Cluster.
14
14
  Format:
15
15
 
16
16
  <match my.tag>
17
- type redshift
17
+ type redshift-out
18
18
 
19
19
  # s3 (for copying data to redshift)
20
20
  aws_key_id YOUR_AWS_KEY_ID
@@ -52,7 +52,7 @@ Example (watch and upload json formatted apache log):
52
52
  </source>
53
53
 
54
54
  <match redshift.json>
55
- type redshift
55
+ type redshift-out
56
56
 
57
57
  # s3 (for copying data to redshift)
58
58
  aws_key_id YOUR_AWS_KEY_ID
@@ -78,7 +78,7 @@ Example (watch and upload json formatted apache log):
78
78
  buffer_chunk_limit 1g
79
79
  <match>
80
80
 
81
- + `type` (required) : The value must be `redshift`.
81
+ + `type` (required) : The value must be `redshift-out`.
82
82
 
83
83
  + `aws_key_id` (required) : AWS access key id to access s3 bucket.
84
84
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.1.0
@@ -8,7 +8,7 @@ Gem::Specification.new do |gem|
8
8
  gem.email = ["nao.bear@gmail.com"]
9
9
  gem.description = %q{Amazon Redshift output plugin for Fluentd}
10
10
  gem.summary = gem.description
11
- gem.homepage = "https://github.com/sakuma/fluent-plugin-redshift"
11
+ gem.homepage = "https://github.com/sakuma/fluent-plugin-redshift-out"
12
12
  gem.has_rdoc = false
13
13
 
14
14
  gem.files = `git ls-files`.split($/)
@@ -17,7 +17,9 @@ Gem::Specification.new do |gem|
17
17
  gem.require_paths = ["lib"]
18
18
 
19
19
  gem.add_dependency "fluentd", "~> 0.10.0"
20
- gem.add_dependency "aws-sdk", ">= 1.6.3"
20
+ gem.add_dependency "aws-sdk", "~> 1.60"
21
+ gem.add_dependency "multi_json", "~> 1.10"
22
+ gem.add_dependency "oj", "~> 2.11"
21
23
  gem.add_dependency "pg", "~> 0.17.0"
22
24
  gem.add_development_dependency "rake"
23
25
  gem.add_development_dependency "simplecov", ">= 0.5.4"
@@ -2,7 +2,7 @@ module Fluent
2
2
 
3
3
 
4
4
  class RedshiftOutput < BufferedOutput
5
- Fluent::Plugin.register_output('redshift', self)
5
+ Fluent::Plugin.register_output('redshift-out', self)
6
6
 
7
7
  # ignore load table error. (invalid data format)
8
8
  IGNORE_REDSHIFT_ERROR_REGEXP = /^ERROR: Load into table '[^']+' failed\./
@@ -14,8 +14,10 @@ class RedshiftOutput < BufferedOutput
14
14
  require 'time'
15
15
  require 'tempfile'
16
16
  require 'pg'
17
- require 'json'
18
17
  require 'csv'
18
+ require 'multi_json'
19
+ require 'oj'
20
+ ::MultiJson.use(:oj)
19
21
  end
20
22
 
21
23
  config_param :record_log_tag, :string, :default => 'log'
@@ -228,7 +230,7 @@ class RedshiftOutput < BufferedOutput
228
230
  def json_to_hash(json_text)
229
231
  return nil if json_text.to_s.empty?
230
232
 
231
- JSON.parse(json_text)
233
+ MultiJson.load(json_text)
232
234
  rescue => e
233
235
  $log.warn format_log("failed to parse json. "), :error => e.to_s
234
236
  nil
@@ -240,7 +242,7 @@ class RedshiftOutput < BufferedOutput
240
242
  # extract values from hash
241
243
  val_list = redshift_table_columns.collect do |cn|
242
244
  val = hash[cn]
243
- val = JSON.generate(val) if val.kind_of?(Hash) or val.kind_of?(Array)
245
+ val = MultiJson.dump(val) if val.kind_of?(Hash) or val.kind_of?(Array)
244
246
 
245
247
  if val.to_s.empty?
246
248
  nil
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-redshift-out
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Naohiro Sakuma
@@ -13,85 +14,129 @@ dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: fluentd
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - "~>"
19
+ - - ~>
18
20
  - !ruby/object:Gem::Version
19
21
  version: 0.10.0
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - "~>"
27
+ - - ~>
25
28
  - !ruby/object:Gem::Version
26
29
  version: 0.10.0
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: aws-sdk
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - ">="
35
+ - - ~>
32
36
  - !ruby/object:Gem::Version
33
- version: 1.6.3
37
+ version: '1.60'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - ">="
43
+ - - ~>
39
44
  - !ruby/object:Gem::Version
40
- version: 1.6.3
45
+ version: '1.60'
46
+ - !ruby/object:Gem::Dependency
47
+ name: multi_json
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '1.10'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.10'
62
+ - !ruby/object:Gem::Dependency
63
+ name: oj
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: '2.11'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '2.11'
41
78
  - !ruby/object:Gem::Dependency
42
79
  name: pg
43
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
44
82
  requirements:
45
- - - "~>"
83
+ - - ~>
46
84
  - !ruby/object:Gem::Version
47
85
  version: 0.17.0
48
86
  type: :runtime
49
87
  prerelease: false
50
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
51
90
  requirements:
52
- - - "~>"
91
+ - - ~>
53
92
  - !ruby/object:Gem::Version
54
93
  version: 0.17.0
55
94
  - !ruby/object:Gem::Dependency
56
95
  name: rake
57
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
58
98
  requirements:
59
- - - ">="
99
+ - - ! '>='
60
100
  - !ruby/object:Gem::Version
61
101
  version: '0'
62
102
  type: :development
63
103
  prerelease: false
64
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
65
106
  requirements:
66
- - - ">="
107
+ - - ! '>='
67
108
  - !ruby/object:Gem::Version
68
109
  version: '0'
69
110
  - !ruby/object:Gem::Dependency
70
111
  name: simplecov
71
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
72
114
  requirements:
73
- - - ">="
115
+ - - ! '>='
74
116
  - !ruby/object:Gem::Version
75
117
  version: 0.5.4
76
118
  type: :development
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
79
122
  requirements:
80
- - - ">="
123
+ - - ! '>='
81
124
  - !ruby/object:Gem::Version
82
125
  version: 0.5.4
83
126
  - !ruby/object:Gem::Dependency
84
127
  name: flexmock
85
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
86
130
  requirements:
87
- - - ">="
131
+ - - ! '>='
88
132
  - !ruby/object:Gem::Version
89
133
  version: 1.3.1
90
134
  type: :development
91
135
  prerelease: false
92
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
93
138
  requirements:
94
- - - ">="
139
+ - - ! '>='
95
140
  - !ruby/object:Gem::Version
96
141
  version: 1.3.1
97
142
  description: Amazon Redshift output plugin for Fluentd
@@ -101,7 +146,7 @@ executables: []
101
146
  extensions: []
102
147
  extra_rdoc_files: []
103
148
  files:
104
- - ".gitignore"
149
+ - .gitignore
105
150
  - Gemfile
106
151
  - README.md
107
152
  - Rakefile
@@ -110,28 +155,29 @@ files:
110
155
  - lib/fluent/plugin/out_redshift.rb
111
156
  - test/plugin/test_out_redshift.rb
112
157
  - test/test_helper.rb
113
- homepage: https://github.com/sakuma/fluent-plugin-redshift
158
+ homepage: https://github.com/sakuma/fluent-plugin-redshift-out
114
159
  licenses: []
115
- metadata: {}
116
160
  post_install_message:
117
161
  rdoc_options: []
118
162
  require_paths:
119
163
  - lib
120
164
  required_ruby_version: !ruby/object:Gem::Requirement
165
+ none: false
121
166
  requirements:
122
- - - ">="
167
+ - - ! '>='
123
168
  - !ruby/object:Gem::Version
124
169
  version: '0'
125
170
  required_rubygems_version: !ruby/object:Gem::Requirement
171
+ none: false
126
172
  requirements:
127
- - - ">="
173
+ - - ! '>='
128
174
  - !ruby/object:Gem::Version
129
175
  version: '0'
130
176
  requirements: []
131
177
  rubyforge_project:
132
- rubygems_version: 2.4.5
178
+ rubygems_version: 1.8.23
133
179
  signing_key:
134
- specification_version: 4
180
+ specification_version: 3
135
181
  summary: Amazon Redshift output plugin for Fluentd
136
182
  test_files:
137
183
  - test/plugin/test_out_redshift.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 56faedeeaa87b321e1ac1497d19cf1fc32e5ff75
4
- data.tar.gz: b1fd7371a3c521f2aeeafa5a49fac2282a297d7f
5
- SHA512:
6
- metadata.gz: 070545fa09280904936742b02465c3c9b7c796b050f1fa5dbf8294687282468174ff8e7b5139c036ea2b7857c896c49b1899e76f4f18489a68783161dc5604fa
7
- data.tar.gz: cf5634049a45f03f322361c093c8a5910e033e0b1be46213769fe81269ca569a3cf960f616625bf6d7a2bb5f15c1c06ecbe5ebe6e61b11c756f5ea1545916e3e