fluent-plugin-dynamodb 0.1.9 → 0.1.10

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.
Files changed (3) hide show
  1. data/VERSION +1 -1
  2. data/lib/fluent/plugin/out_dynamodb.rb +24 -6
  3. metadata +39 -12
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.9
1
+ 0.1.10
@@ -65,17 +65,35 @@ class DynamoDBOutput < Fluent::BufferedOutput
65
65
  def valid_table(table_name)
66
66
  table = @dynamo_db.tables[table_name]
67
67
  table.load_schema
68
- raise ConfigError, "Currently composite table is not supported." if table.has_range_key?
69
- @hash_key_value = table.hash_key.name
68
+ @hash_key = table.hash_key
69
+ @range_key = table.range_key unless table.simple_key?
70
+ end
71
+
72
+ def match_type!(key, record)
73
+ if key.type == :number
74
+ potential_value = record[key.name].to_i
75
+ if potential_value == 0
76
+ $log.fatal "Failed attempt to cast hash_key to Integer."
77
+ end
78
+ record[key.name] = potential_value
79
+ end
70
80
  end
71
81
 
72
82
  def format(tag, time, record)
73
- if !record.key?(@hash_key_value)
74
- record[@hash_key_value] = UUIDTools::UUID.timestamp_create.to_s
83
+ if !record.key?(@hash_key.name)
84
+ record[@hash_key.name] = UUIDTools::UUID.timestamp_create.to_s
85
+ end
86
+ match_type!(@hash_key, record)
87
+
88
+ formatted_time = @timef.format(time)
89
+ if @range_key
90
+ if !record.key?(@range_key.name)
91
+ record[@range_key.name] = formatted_time
92
+ end
93
+ match_type!(@range_key, record)
75
94
  end
95
+ record['time'] = formatted_time
76
96
 
77
- record['time'] = @timef.format(time)
78
-
79
97
  record.to_msgpack
80
98
  end
81
99
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-dynamodb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-29 00:00:00.000000000Z
12
+ date: 2013-11-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fluentd
16
- requirement: &18681040 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: 0.10.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *18681040
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 0.10.0
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: aws-sdk
27
- requirement: &18680560 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: 1.5.2
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *18680560
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 1.5.2
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: uuidtools
38
- requirement: &18680100 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ~>
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: 2.1.0
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *18680100
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 2.1.0
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: rake
49
- requirement: &18679640 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,7 +69,12 @@ dependencies:
54
69
  version: 0.9.2
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *18679640
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 0.9.2
58
78
  description: Amazon DynamoDB output plugin for Fluent event collector
59
79
  email: g0n5uk3@gmail.com
60
80
  executables: []
@@ -82,16 +102,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
82
102
  - - ! '>='
83
103
  - !ruby/object:Gem::Version
84
104
  version: '0'
105
+ segments:
106
+ - 0
107
+ hash: -2653667891675486738
85
108
  required_rubygems_version: !ruby/object:Gem::Requirement
86
109
  none: false
87
110
  requirements:
88
111
  - - ! '>='
89
112
  - !ruby/object:Gem::Version
90
113
  version: '0'
114
+ segments:
115
+ - 0
116
+ hash: -2653667891675486738
91
117
  requirements: []
92
118
  rubyforge_project:
93
- rubygems_version: 1.8.17
119
+ rubygems_version: 1.8.24
94
120
  signing_key:
95
121
  specification_version: 3
96
122
  summary: Amazon DynamoDB output plugin for Fluent event collector
97
- test_files: []
123
+ test_files:
124
+ - test/out_dynamodb.rb