fluent-plugin-lambda 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a79d46bba15a5ee2e5eeed7aeb214e3d3040eb89
4
- data.tar.gz: 19f67bc95dda317f6a4ece5ebc8df62beb0cb974
3
+ metadata.gz: 43f89bf12a7fe1c93886da0d46f205d1b7f3fb7b
4
+ data.tar.gz: 50b19cc14756d6e7909a4c24bbb317f10bd1db7d
5
5
  SHA512:
6
- metadata.gz: ee1e82399f2004d29a3298acdb528d703d8f8b0413132de671dd0a19925a01b474a30430a34a7819c444bc3f7d0eca902ed5dcdcd5f07751e58d7d925463b948
7
- data.tar.gz: 61aee9a29dcae8e315b639f540df7b4d7679842895a4742b744d6c7d566b8714187b9fe6793d855a4d67ab6b2f557d6b6eb07dead83a8931300f6186fb6e7ed8
6
+ metadata.gz: 94a9f86e882361cf007911801558ca77147a35e07969c7a29345aef9ab56a6e77e8a2ccd222e5480085fb6cb56e82f7c13f3f09da56212566ab5fe35a5598f39
7
+ data.tar.gz: 9be6fb42385be3fa8d25605245be0e3ac31f0c34696cd4a5767be24070cfe41ad108596c3ab39686948ab4318e8378c0414f87287e751baed371a483e6af582e
data/README.md CHANGED
@@ -21,6 +21,7 @@ Output plugin for [AWS Lambda](http://aws.amazon.com/lambda/).
21
21
  region us-east-1
22
22
  #endpoint ...
23
23
 
24
+ #qualifier staging
24
25
  function_name my_func
25
26
  # Pass the function name in the key of record if the function name is not set
26
27
 
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = 'fluent-plugin-lambda'
4
- spec.version = '0.2.0'
4
+ spec.version = '0.2.1'
5
5
  spec.authors = ['Genki Sugawara']
6
6
  spec.email = ['sugawara@cookpad.com']
7
7
  spec.description = %q{Output plugin for AWS Lambda.}
@@ -15,6 +15,7 @@ class Fluent::LambdaOutput < Fluent::BufferedOutput
15
15
  config_param :region, :string, :default => nil
16
16
  config_param :endpoint, :string, :default => nil
17
17
  config_param :function_name, :string, :default => nil
18
+ config_param :qualifier, :string, :default => nil
18
19
 
19
20
  config_set_default :include_time_key, false
20
21
  config_set_default :include_tag_key, false
@@ -68,11 +69,14 @@ class Fluent::LambdaOutput < Fluent::BufferedOutput
68
69
  }.each {|tag, time, record|
69
70
  func_name = @function_name || record['function_name']
70
71
 
71
- @client.invoke(
72
+ payload = {
72
73
  :function_name => func_name,
73
74
  :payload => JSON.dump(record),
74
75
  :invocation_type => 'Event',
75
- )
76
+ }
77
+ payload[:qualifier] = @qualifier unless @qualifier.nil?
78
+
79
+ @client.invoke(payload)
76
80
  }
77
81
  end
78
82
 
@@ -60,4 +60,27 @@ describe Fluent::LambdaOutput do
60
60
  end
61
61
  end
62
62
  end
63
+
64
+ context 'when a qualifier is provided' do
65
+ it 'invokes that alias' do
66
+ run_driver(qualifier: 'staging') do |d, client|
67
+ expect(client).to receive(:invoke).with(
68
+ function_name: 'my_func1',
69
+ payload: JSON.dump('function_name' => 'my_func1', 'key1' => 'foo' , 'key2' => 100),
70
+ invocation_type: 'Event',
71
+ qualifier: 'staging'
72
+ )
73
+
74
+ expect(client).to receive(:invoke).with(
75
+ function_name: 'my_func2',
76
+ payload: JSON.dump('function_name' => 'my_func2', 'key1' => 'bar' , 'key2' => 200),
77
+ invocation_type: 'Event',
78
+ qualifier: 'staging'
79
+ )
80
+
81
+ d.emit({'function_name' => 'my_func1', 'key1' => 'foo', 'key2' => 100}, time)
82
+ d.emit({'function_name' => 'my_func2', 'key1' => 'bar', 'key2' => 200}, time)
83
+ end
84
+ end
85
+ end
63
86
  end
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-lambda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-19 00:00:00.000000000 Z
11
+ date: 2016-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: aws-sdk-core
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '2.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: 3.0.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: 3.0.0
83
83
  description: Output plugin for AWS Lambda.
@@ -87,9 +87,9 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
- - .gitignore
91
- - .rspec
92
- - .travis.yml
90
+ - ".gitignore"
91
+ - ".rspec"
92
+ - ".travis.yml"
93
93
  - Gemfile
94
94
  - LICENSE.txt
95
95
  - README.md
@@ -109,17 +109,17 @@ require_paths:
109
109
  - lib
110
110
  required_ruby_version: !ruby/object:Gem::Requirement
111
111
  requirements:
112
- - - '>='
112
+ - - ">="
113
113
  - !ruby/object:Gem::Version
114
114
  version: '0'
115
115
  required_rubygems_version: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - '>='
117
+ - - ">="
118
118
  - !ruby/object:Gem::Version
119
119
  version: '0'
120
120
  requirements: []
121
121
  rubyforge_project:
122
- rubygems_version: 2.0.14
122
+ rubygems_version: 2.4.5.1
123
123
  signing_key:
124
124
  specification_version: 4
125
125
  summary: Output plugin for AWS Lambda.