logstash-output-s3 4.1.7 → 4.1.8
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.
- 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
|