aws-sdk-s3 1.220.0 → 1.232.2
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 +89 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +26 -2
- data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
- data/lib/aws-sdk-s3/client.rb +869 -62
- data/lib/aws-sdk-s3/client_api.rb +301 -0
- data/lib/aws-sdk-s3/customizations/object.rb +55 -25
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +14 -1
- data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +13 -1
- data/lib/aws-sdk-s3/endpoint_provider.rb +6 -3
- data/lib/aws-sdk-s3/endpoints.rb +68 -0
- data/lib/aws-sdk-s3/errors.rb +66 -0
- data/lib/aws-sdk-s3/file_downloader.rb +3 -1
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +1 -1
- data/lib/aws-sdk-s3/object.rb +150 -8
- data/lib/aws-sdk-s3/object_copier.rb +11 -22
- data/lib/aws-sdk-s3/object_multipart_copier.rb +177 -84
- data/lib/aws-sdk-s3/object_summary.rb +117 -8
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +1 -1
- data/lib/aws-sdk-s3/transfer_manager.rb +44 -31
- data/lib/aws-sdk-s3/types.rb +1162 -46
- data/lib/aws-sdk-s3.rb +1 -1
- data/sig/bucket.rbs +7 -4
- data/sig/bucket_acl.rbs +1 -1
- data/sig/bucket_cors.rbs +1 -1
- data/sig/bucket_lifecycle.rbs +1 -1
- data/sig/bucket_lifecycle_configuration.rbs +4 -4
- data/sig/bucket_logging.rbs +1 -1
- data/sig/bucket_notification.rbs +9 -9
- data/sig/bucket_tagging.rbs +1 -1
- data/sig/bucket_website.rbs +1 -1
- data/sig/client.rbs +246 -198
- data/sig/errors.rbs +12 -0
- data/sig/multipart_upload.rbs +2 -2
- data/sig/object.rbs +32 -13
- data/sig/object_acl.rbs +1 -1
- data/sig/object_summary.rbs +22 -12
- data/sig/params.rbs +78 -0
- data/sig/resource.rbs +1 -1
- data/sig/types.rbs +249 -39
- metadata +4 -3
|
@@ -161,10 +161,12 @@ module Aws
|
|
|
161
161
|
def download_directory(destination, bucket:, **options)
|
|
162
162
|
Aws::Plugins::UserAgent.metric('S3_TRANSFER', 'S3_TRANSFER_DOWNLOAD_DIRECTORY') do
|
|
163
163
|
executor = @executor || DefaultExecutor.new(max_threads: options.delete(:thread_count))
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
164
|
+
begin
|
|
165
|
+
downloader = DirectoryDownloader.new(client: @client, executor: executor, logger: @logger)
|
|
166
|
+
downloader.download(destination, bucket: bucket, **options)
|
|
167
|
+
ensure
|
|
168
|
+
executor.shutdown unless @executor
|
|
169
|
+
end
|
|
168
170
|
end
|
|
169
171
|
end
|
|
170
172
|
|
|
@@ -246,10 +248,13 @@ module Aws
|
|
|
246
248
|
def download_file(destination, bucket:, key:, **options)
|
|
247
249
|
download_opts = options.merge(bucket: bucket, key: key)
|
|
248
250
|
executor = @executor || DefaultExecutor.new(max_threads: download_opts.delete(:thread_count))
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
251
|
+
begin
|
|
252
|
+
downloader = FileDownloader.new(client: @client, executor: executor)
|
|
253
|
+
downloader.download(destination, download_opts)
|
|
254
|
+
true
|
|
255
|
+
ensure
|
|
256
|
+
executor.shutdown unless @executor
|
|
257
|
+
end
|
|
253
258
|
end
|
|
254
259
|
|
|
255
260
|
# Uploads all files under the given directory to the provided S3 bucket.
|
|
@@ -361,10 +366,12 @@ module Aws
|
|
|
361
366
|
def upload_directory(source, bucket:, **options)
|
|
362
367
|
Aws::Plugins::UserAgent.metric('S3_TRANSFER', 'S3_TRANSFER_UPLOAD_DIRECTORY') do
|
|
363
368
|
executor = @executor || DefaultExecutor.new(max_threads: options.delete(:thread_count))
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
369
|
+
begin
|
|
370
|
+
uploader = DirectoryUploader.new(client: @client, executor: executor, logger: @logger)
|
|
371
|
+
uploader.upload(source, bucket, **options.merge(http_chunk_size: resolve_http_chunk_size(options)))
|
|
372
|
+
ensure
|
|
373
|
+
executor.shutdown unless @executor
|
|
374
|
+
end
|
|
368
375
|
end
|
|
369
376
|
end
|
|
370
377
|
|
|
@@ -445,16 +452,19 @@ module Aws
|
|
|
445
452
|
http_chunk_size = resolve_http_chunk_size(upload_opts)
|
|
446
453
|
|
|
447
454
|
executor = @executor || DefaultExecutor.new(max_threads: upload_opts.delete(:thread_count))
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
455
|
+
begin
|
|
456
|
+
uploader = FileUploader.new(
|
|
457
|
+
multipart_threshold: upload_opts.delete(:multipart_threshold),
|
|
458
|
+
http_chunk_size: http_chunk_size,
|
|
459
|
+
client: @client,
|
|
460
|
+
executor: executor
|
|
461
|
+
)
|
|
462
|
+
response = uploader.upload(source, upload_opts)
|
|
463
|
+
yield response if block_given?
|
|
464
|
+
true
|
|
465
|
+
ensure
|
|
466
|
+
executor.shutdown unless @executor
|
|
467
|
+
end
|
|
458
468
|
end
|
|
459
469
|
|
|
460
470
|
# Uploads a stream in a streaming fashion to S3.
|
|
@@ -512,15 +522,18 @@ module Aws
|
|
|
512
522
|
def upload_stream(bucket:, key:, **options, &block)
|
|
513
523
|
upload_opts = options.merge(bucket: bucket, key: key)
|
|
514
524
|
executor = @executor || DefaultExecutor.new(max_threads: upload_opts.delete(:thread_count))
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
525
|
+
begin
|
|
526
|
+
uploader = MultipartStreamUploader.new(
|
|
527
|
+
client: @client,
|
|
528
|
+
executor: executor,
|
|
529
|
+
tempfile: upload_opts.delete(:tempfile),
|
|
530
|
+
part_size: upload_opts.delete(:part_size)
|
|
531
|
+
)
|
|
532
|
+
uploader.upload(upload_opts, &block)
|
|
533
|
+
true
|
|
534
|
+
ensure
|
|
535
|
+
executor.shutdown unless @executor
|
|
536
|
+
end
|
|
524
537
|
end
|
|
525
538
|
|
|
526
539
|
private
|