logstash-output-s3 4.1.7 → 4.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/docs/index.asciidoc +9 -0
- data/lib/logstash/outputs/s3.rb +5 -1
- data/logstash-output-s3.gemspec +1 -1
- data/spec/outputs/s3_spec.rb +17 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4cf264de35b436280daac5ccab48529f9f3e8037a37c40f634e479c49dd0b3e
|
4
|
+
data.tar.gz: 6c5fe67b82ea4dc36a471ad06199fb241a171bb4142ef754da2436211d99d4b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1afe8b78490ae972d08216adf887447ada0fef5adb3c67badb8243b84b907d35da6bebc0dbd354dae10f3adb0f1840a996192eac43482725a58eb70fa55eb0e
|
7
|
+
data.tar.gz: 611ef2103780b7ef705dace7e1bd95e5c931c4f4276cf3db22c648acf555667f5eb88c43856014d6e7a093f9ea22c50731955ade23a779d85a0d9088085e9e33
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
## 4.1.8
|
2
|
+
- Add support for setting mutipart upload threshold [#202](https://github.com/logstash-plugins/logstash-output-s3/pull/202)
|
3
|
+
|
1
4
|
## 4.1.7
|
2
5
|
- Fixed issue where on restart, 0 byte files could erroneously be uploaded to s3 [#195](https://github.com/logstash-plugins/logstash-output-s3/issues/195)
|
3
6
|
|
data/docs/index.asciidoc
CHANGED
@@ -101,6 +101,7 @@ This plugin supports the following configuration options plus the <<plugins-{typ
|
|
101
101
|
| <<plugins-{type}s-{plugin}-storage_class>> |<<string,string>>, one of `["STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA"]`|No
|
102
102
|
| <<plugins-{type}s-{plugin}-temporary_directory>> |<<string,string>>|No
|
103
103
|
| <<plugins-{type}s-{plugin}-time_file>> |<<number,number>>|No
|
104
|
+
| <<plugins-{type}s-{plugin}-upload_multipart_threshold>> |<<number,number>>|No
|
104
105
|
| <<plugins-{type}s-{plugin}-upload_queue_size>> |<<number,number>>|No
|
105
106
|
| <<plugins-{type}s-{plugin}-upload_workers_count>> |<<number,number>>|No
|
106
107
|
| <<plugins-{type}s-{plugin}-validate_credentials_on_root_bucket>> |<<boolean,boolean>>|No
|
@@ -352,6 +353,14 @@ If you define file_size you have a number of files in consideration of the secti
|
|
352
353
|
0 stay all time on listerner, beware if you specific 0 and size_file 0, because you will not put the file on bucket,
|
353
354
|
for now the only thing this plugin can do is to put the file when logstash restart.
|
354
355
|
|
356
|
+
[id="plugins-{type}s-{plugin}-upload_multipart_threshold"]
|
357
|
+
===== `upload_multipart_threshold`
|
358
|
+
|
359
|
+
* Value type is <<number,number>>
|
360
|
+
* Default value is `15728640`
|
361
|
+
|
362
|
+
Files larger than this number are uploaded using the S3 multipart APIs
|
363
|
+
|
355
364
|
[id="plugins-{type}s-{plugin}-upload_queue_size"]
|
356
365
|
===== `upload_queue_size`
|
357
366
|
|
data/lib/logstash/outputs/s3.rb
CHANGED
@@ -160,6 +160,9 @@ class LogStash::Outputs::S3 < LogStash::Outputs::Base
|
|
160
160
|
# Number of items we can keep in the local queue before uploading them
|
161
161
|
config :upload_queue_size, :validate => :number, :default => 2 * (Concurrent.processor_count * 0.25).ceil
|
162
162
|
|
163
|
+
# Files larger than this number are uploaded using the S3 multipart APIs. Default threshold is 15MB.
|
164
|
+
config :upload_multipart_threshold, :validate => :number, :default => 15 * 1024 * 1024
|
165
|
+
|
163
166
|
# The version of the S3 signature hash to use. Normally uses the internal client default, can be explicitly
|
164
167
|
# specified here
|
165
168
|
config :signature_version, :validate => ['v2', 'v4']
|
@@ -296,7 +299,8 @@ class LogStash::Outputs::S3 < LogStash::Outputs::Base
|
|
296
299
|
:server_side_encryption => @server_side_encryption ? @server_side_encryption_algorithm : nil,
|
297
300
|
:ssekms_key_id => @server_side_encryption_algorithm == "aws:kms" ? @ssekms_key_id : nil,
|
298
301
|
:storage_class => @storage_class,
|
299
|
-
:content_encoding => @encoding == "gzip" ? "gzip" : nil
|
302
|
+
:content_encoding => @encoding == "gzip" ? "gzip" : nil,
|
303
|
+
:multipart_threshold => @upload_multipart_threshold
|
300
304
|
}
|
301
305
|
end
|
302
306
|
|
data/logstash-output-s3.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'logstash-output-s3'
|
3
|
-
s.version = '4.1.
|
3
|
+
s.version = '4.1.8'
|
4
4
|
s.licenses = ['Apache-2.0']
|
5
5
|
s.summary = "Sends Logstash events to the Amazon Simple Storage Service"
|
6
6
|
s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
|
data/spec/outputs/s3_spec.rb
CHANGED
@@ -60,6 +60,23 @@ describe LogStash::Outputs::S3 do
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
|
+
describe "Multipart upload threshold" do
|
64
|
+
context "when configured" do
|
65
|
+
it "should use the configured threshold" do
|
66
|
+
threshold = 1 * 1024 * 1024
|
67
|
+
s3 = described_class.new(options.merge({ "upload_multipart_threshold" => threshold }))
|
68
|
+
expect(s3.upload_options).to include(:multipart_threshold => threshold)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
context "when not configured" do
|
73
|
+
it "should use 15MB as the default" do
|
74
|
+
s3 = described_class.new(options)
|
75
|
+
expect(s3.upload_options).to include(:multipart_threshold => 15 * 1024 * 1024)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
63
80
|
describe "Service Side Encryption" do
|
64
81
|
|
65
82
|
context "when configured" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-output-s3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.1.
|
4
|
+
version: 4.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|