fluent-plugin-redshift-out 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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