aws-sdk-s3 1.185.0 → 1.186.1
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 +9 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/client.rb +2 -3
- data/lib/aws-sdk-s3/file_downloader.rb +10 -10
- data/lib/aws-sdk-s3.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 013e9f5fb123754ee3986f0b06225c9f17235bf86614554933173335ced6732d
|
4
|
+
data.tar.gz: 67a8fddc96fc487b280b49664c0020d997de1a2c15403d983f8bcbb37b6f38d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5b92f4b8677074116e734f91a8c240dfbca67768250d1714095ea427117b49e31b9df194c6bace597fbf2080a51ef626e5bfe077df5a1aaf05821ce5391c571
|
7
|
+
data.tar.gz: 5c311b0d195b97adb8e00eedf2f767f81e2500c843c52025555f5f0b8398759895dd2b9a99c308b6e6959ca6d662593b8bebce09b83ae6993fc2c2279b1a85b3
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,15 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.186.1 (2025-05-15)
|
5
|
+
------------------
|
6
|
+
* Issue - Abort multipart download if object is modified during download.
|
7
|
+
|
8
|
+
1.186.0 (2025-05-12)
|
9
|
+
------------------
|
10
|
+
|
11
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
12
|
+
|
4
13
|
1.185.0 (2025-05-01)
|
5
14
|
------------------
|
6
15
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.186.1
|
data/lib/aws-sdk-s3/client.rb
CHANGED
@@ -256,8 +256,7 @@ module Aws::S3
|
|
256
256
|
# accepted modes and the configuration defaults that are included.
|
257
257
|
#
|
258
258
|
# @option options [Boolean] :disable_host_prefix_injection (false)
|
259
|
-
#
|
260
|
-
# to default service endpoint when available.
|
259
|
+
# When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
|
261
260
|
#
|
262
261
|
# @option options [Boolean] :disable_request_compression (false)
|
263
262
|
# When set to 'true' the request body will not be compressed
|
@@ -20681,7 +20680,7 @@ module Aws::S3
|
|
20681
20680
|
tracer: tracer
|
20682
20681
|
)
|
20683
20682
|
context[:gem_name] = 'aws-sdk-s3'
|
20684
|
-
context[:gem_version] = '1.
|
20683
|
+
context[:gem_version] = '1.186.1'
|
20685
20684
|
Seahorse::Client::Request.new(handlers, context)
|
20686
20685
|
end
|
20687
20686
|
|
@@ -43,7 +43,7 @@ module Aws
|
|
43
43
|
when 'get_range'
|
44
44
|
if @chunk_size
|
45
45
|
resp = @client.head_object(@params)
|
46
|
-
multithreaded_get_by_ranges(resp.content_length)
|
46
|
+
multithreaded_get_by_ranges(resp.content_length, resp.etag)
|
47
47
|
else
|
48
48
|
msg = 'In :get_range mode, :chunk_size must be provided'
|
49
49
|
raise ArgumentError, msg
|
@@ -71,7 +71,7 @@ module Aws
|
|
71
71
|
if resp.content_length <= MIN_CHUNK_SIZE
|
72
72
|
single_request
|
73
73
|
else
|
74
|
-
multithreaded_get_by_ranges(resp.content_length)
|
74
|
+
multithreaded_get_by_ranges(resp.content_length, resp.etag)
|
75
75
|
end
|
76
76
|
else
|
77
77
|
# partNumber is an option
|
@@ -79,18 +79,18 @@ module Aws
|
|
79
79
|
if resp.content_length <= MIN_CHUNK_SIZE
|
80
80
|
single_request
|
81
81
|
else
|
82
|
-
compute_mode(resp.content_length, count)
|
82
|
+
compute_mode(resp.content_length, count, resp.etag)
|
83
83
|
end
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
-
def compute_mode(file_size, count)
|
87
|
+
def compute_mode(file_size, count, etag)
|
88
88
|
chunk_size = compute_chunk(file_size)
|
89
89
|
part_size = (file_size.to_f / count.to_f).ceil
|
90
90
|
if chunk_size < part_size
|
91
|
-
multithreaded_get_by_ranges(file_size)
|
91
|
+
multithreaded_get_by_ranges(file_size, etag)
|
92
92
|
else
|
93
|
-
multithreaded_get_by_parts(count, file_size)
|
93
|
+
multithreaded_get_by_parts(count, file_size, etag)
|
94
94
|
end
|
95
95
|
end
|
96
96
|
|
@@ -122,7 +122,7 @@ module Aws
|
|
122
122
|
chunks.each_slice(@thread_count).to_a
|
123
123
|
end
|
124
124
|
|
125
|
-
def multithreaded_get_by_ranges(file_size)
|
125
|
+
def multithreaded_get_by_ranges(file_size, etag)
|
126
126
|
offset = 0
|
127
127
|
default_chunk_size = compute_chunk(file_size)
|
128
128
|
chunks = []
|
@@ -134,7 +134,7 @@ module Aws
|
|
134
134
|
chunks << Part.new(
|
135
135
|
part_number: part_number,
|
136
136
|
size: (progress-offset),
|
137
|
-
params: @params.merge(range: range)
|
137
|
+
params: @params.merge(range: range, if_match: etag)
|
138
138
|
)
|
139
139
|
part_number += 1
|
140
140
|
offset = progress
|
@@ -142,9 +142,9 @@ module Aws
|
|
142
142
|
download_in_threads(PartList.new(chunks), file_size)
|
143
143
|
end
|
144
144
|
|
145
|
-
def multithreaded_get_by_parts(n_parts, total_size)
|
145
|
+
def multithreaded_get_by_parts(n_parts, total_size, etag)
|
146
146
|
parts = (1..n_parts).map do |part|
|
147
|
-
Part.new(part_number: part, params: @params.merge(part_number: part))
|
147
|
+
Part.new(part_number: part, params: @params.merge(part_number: part, if_match: etag))
|
148
148
|
end
|
149
149
|
download_in_threads(PartList.new(parts), total_size)
|
150
150
|
end
|
data/lib/aws-sdk-s3.rb
CHANGED