aws-sdk-s3 1.150.0 → 1.160.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +65 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +12 -3
- data/lib/aws-sdk-s3/bucket.rb +89 -26
- data/lib/aws-sdk-s3/bucket_acl.rb +3 -3
- data/lib/aws-sdk-s3/bucket_cors.rb +4 -4
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +4 -4
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +4 -4
- data/lib/aws-sdk-s3/bucket_logging.rb +3 -3
- data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
- data/lib/aws-sdk-s3/bucket_policy.rb +4 -4
- data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
- data/lib/aws-sdk-s3/bucket_tagging.rb +4 -4
- data/lib/aws-sdk-s3/bucket_versioning.rb +5 -5
- data/lib/aws-sdk-s3/bucket_website.rb +4 -4
- data/lib/aws-sdk-s3/client.rb +632 -351
- data/lib/aws-sdk-s3/client_api.rb +27 -3
- data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
- data/lib/aws-sdk-s3/customizations/object.rb +5 -5
- data/lib/aws-sdk-s3/encryption/client.rb +2 -2
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/client.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/endpoint_parameters.rb +8 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +1 -0
- data/lib/aws-sdk-s3/endpoints.rb +100 -1
- data/lib/aws-sdk-s3/file_downloader.rb +1 -1
- data/lib/aws-sdk-s3/file_uploader.rb +1 -1
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +1 -1
- data/lib/aws-sdk-s3/multipart_upload.rb +24 -4
- data/lib/aws-sdk-s3/multipart_upload_part.rb +3 -3
- data/lib/aws-sdk-s3/object.rb +66 -16
- data/lib/aws-sdk-s3/object_acl.rb +3 -3
- data/lib/aws-sdk-s3/object_copier.rb +1 -1
- data/lib/aws-sdk-s3/object_summary.rb +38 -10
- data/lib/aws-sdk-s3/object_version.rb +40 -9
- data/lib/aws-sdk-s3/plugins/access_grants.rb +75 -5
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +7 -1
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
- data/lib/aws-sdk-s3/resource.rb +12 -10
- data/lib/aws-sdk-s3/types.rb +340 -62
- data/lib/aws-sdk-s3.rb +1 -1
- data/sig/bucket.rbs +1 -0
- data/sig/client.rbs +27 -1
- data/sig/multipart_upload.rbs +1 -0
- data/sig/object.rbs +7 -0
- data/sig/object_summary.rbs +1 -0
- data/sig/object_version.rbs +6 -0
- data/sig/resource.rbs +4 -1
- data/sig/types.rbs +15 -0
- data/sig/waiters.rbs +12 -0
- metadata +6 -6
data/lib/aws-sdk-s3/client.rb
CHANGED
@@ -32,6 +32,7 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
|
|
32
32
|
require 'aws-sdk-core/plugins/request_compression.rb'
|
33
33
|
require 'aws-sdk-core/plugins/defaults_mode.rb'
|
34
34
|
require 'aws-sdk-core/plugins/recursion_detection.rb'
|
35
|
+
require 'aws-sdk-core/plugins/telemetry.rb'
|
35
36
|
require 'aws-sdk-core/plugins/sign.rb'
|
36
37
|
require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
|
37
38
|
require 'aws-sdk-s3/plugins/accelerate.rb'
|
@@ -104,6 +105,7 @@ module Aws::S3
|
|
104
105
|
add_plugin(Aws::Plugins::RequestCompression)
|
105
106
|
add_plugin(Aws::Plugins::DefaultsMode)
|
106
107
|
add_plugin(Aws::Plugins::RecursionDetection)
|
108
|
+
add_plugin(Aws::Plugins::Telemetry)
|
107
109
|
add_plugin(Aws::Plugins::Sign)
|
108
110
|
add_plugin(Aws::Plugins::Protocols::RestXml)
|
109
111
|
add_plugin(Aws::S3::Plugins::Accelerate)
|
@@ -131,6 +133,11 @@ module Aws::S3
|
|
131
133
|
|
132
134
|
# @overload initialize(options)
|
133
135
|
# @param [Hash] options
|
136
|
+
#
|
137
|
+
# @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
|
138
|
+
# A list of plugins to apply to the client. Each plugin is either a
|
139
|
+
# class name or an instance of a plugin class.
|
140
|
+
#
|
134
141
|
# @option options [required, Aws::CredentialProvider] :credentials
|
135
142
|
# Your AWS credentials. This can be an instance of any one of the
|
136
143
|
# following classes:
|
@@ -271,7 +278,6 @@ module Aws::S3
|
|
271
278
|
# 'https://example.com'
|
272
279
|
# 'http://example.com:123'
|
273
280
|
#
|
274
|
-
#
|
275
281
|
# @option options [Integer] :endpoint_cache_max_entries (1000)
|
276
282
|
# Used for the maximum size limit of the LRU cache storing endpoints data
|
277
283
|
# for endpoint discovery enabled operations. Defaults to 1000.
|
@@ -386,7 +392,6 @@ module Aws::S3
|
|
386
392
|
# throttling. This is a provisional mode that may change behavior
|
387
393
|
# in the future.
|
388
394
|
#
|
389
|
-
#
|
390
395
|
# @option options [Boolean] :s3_disable_multiregion_access_points (false)
|
391
396
|
# When set to `false` this will option will raise errors when multi-region
|
392
397
|
# access point ARNs are used. Multi-region access points can potentially
|
@@ -411,6 +416,15 @@ module Aws::S3
|
|
411
416
|
#
|
412
417
|
# @option options [String] :session_token
|
413
418
|
#
|
419
|
+
# @option options [Array] :sigv4a_signing_region_set
|
420
|
+
# A list of regions that should be signed with SigV4a signing. When
|
421
|
+
# not passed, a default `:sigv4a_signing_region_set` is searched for
|
422
|
+
# in the following locations:
|
423
|
+
#
|
424
|
+
# * `Aws.config[:sigv4a_signing_region_set]`
|
425
|
+
# * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
|
426
|
+
# * `~/.aws/config`
|
427
|
+
#
|
414
428
|
# @option options [Boolean] :stub_responses (false)
|
415
429
|
# Causes the client to return stubbed responses. By default
|
416
430
|
# fake responses are generated and returned. You can specify
|
@@ -420,6 +434,16 @@ module Aws::S3
|
|
420
434
|
# ** Please note ** When response stubbing is enabled, no HTTP
|
421
435
|
# requests are made, and retries are disabled.
|
422
436
|
#
|
437
|
+
# @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
|
438
|
+
# Allows you to provide a telemetry provider, which is used to
|
439
|
+
# emit telemetry data. By default, uses `NoOpTelemetryProvider` which
|
440
|
+
# will not record or emit any telemetry data. The SDK supports the
|
441
|
+
# following telemetry providers:
|
442
|
+
#
|
443
|
+
# * OpenTelemetry (OTel) - To use the OTel provider, install and require the
|
444
|
+
# `opentelemetry-sdk` gem and then, pass in an instance of a
|
445
|
+
# `Aws::Telemetry::OTelProvider` for telemetry provider.
|
446
|
+
#
|
423
447
|
# @option options [Aws::TokenProvider] :token_provider
|
424
448
|
# A Bearer Token Provider. This can be an instance of any one of the
|
425
449
|
# following classes:
|
@@ -532,12 +556,20 @@ module Aws::S3
|
|
532
556
|
# for the part storage, you should call the [ListParts][1] API operation
|
533
557
|
# and ensure that the parts list is empty.
|
534
558
|
#
|
535
|
-
# <note markdown="1"> **Directory buckets** -
|
536
|
-
#
|
537
|
-
#
|
538
|
-
#
|
539
|
-
#
|
540
|
-
#
|
559
|
+
# <note markdown="1"> * **Directory buckets** - If multipart uploads in a directory bucket
|
560
|
+
# are in progress, you can't delete the bucket until all the
|
561
|
+
# in-progress multipart uploads are aborted or completed. To delete
|
562
|
+
# these in-progress multipart uploads, use the `ListMultipartUploads`
|
563
|
+
# operation to list the in-progress multipart uploads in the bucket
|
564
|
+
# and use the `AbortMultupartUpload` operation to abort all the
|
565
|
+
# in-progress multipart uploads.
|
566
|
+
#
|
567
|
+
# * **Directory buckets** - For directory buckets, you must make
|
568
|
+
# requests for this API operation to the Zonal endpoint. These
|
569
|
+
# endpoints support virtual-hosted-style requests in the format
|
570
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
571
|
+
# `. Path-style requests are not supported. For more information, see
|
572
|
+
# [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
|
541
573
|
#
|
542
574
|
# </note>
|
543
575
|
#
|
@@ -777,6 +809,12 @@ module Aws::S3
|
|
777
809
|
# interruptions when a session expires. For more information about
|
778
810
|
# authorization, see [ `CreateSession` ][7].
|
779
811
|
#
|
812
|
+
# * If you provide an [additional checksum value][8] in your
|
813
|
+
# `MultipartUpload` requests and the object is encrypted with Key
|
814
|
+
# Management Service, you must have permission to use the
|
815
|
+
# `kms:Decrypt` action for the `CompleteMultipartUpload` request to
|
816
|
+
# succeed.
|
817
|
+
#
|
780
818
|
# Special errors
|
781
819
|
# : * Error Code: `EntityTooSmall`
|
782
820
|
#
|
@@ -816,15 +854,15 @@ module Aws::S3
|
|
816
854
|
#
|
817
855
|
# The following operations are related to `CompleteMultipartUpload`:
|
818
856
|
#
|
819
|
-
# * [CreateMultipartUpload][
|
857
|
+
# * [CreateMultipartUpload][9]
|
820
858
|
#
|
821
859
|
# * [UploadPart][1]
|
822
860
|
#
|
823
|
-
# * [AbortMultipartUpload][
|
861
|
+
# * [AbortMultipartUpload][10]
|
824
862
|
#
|
825
|
-
# * [ListParts][
|
863
|
+
# * [ListParts][11]
|
826
864
|
#
|
827
|
-
# * [ListMultipartUploads][
|
865
|
+
# * [ListMultipartUploads][12]
|
828
866
|
#
|
829
867
|
#
|
830
868
|
#
|
@@ -835,10 +873,11 @@ module Aws::S3
|
|
835
873
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
836
874
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
837
875
|
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
838
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
839
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
840
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
841
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
876
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
877
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
|
878
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
879
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
880
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
842
881
|
#
|
843
882
|
# @option params [required, String] :bucket
|
844
883
|
# Name of the bucket to which the multipart upload was initiated.
|
@@ -959,6 +998,26 @@ module Aws::S3
|
|
959
998
|
# you provide does not match the actual owner of the bucket, the request
|
960
999
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
961
1000
|
#
|
1001
|
+
# @option params [String] :if_none_match
|
1002
|
+
# Uploads the object only if the object key name does not already exist
|
1003
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
1004
|
+
# Precondition Failed` error.
|
1005
|
+
#
|
1006
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
1007
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
1008
|
+
# re-initiate the multipart upload with `CreateMultipartUpload` and
|
1009
|
+
# re-upload each part.
|
1010
|
+
#
|
1011
|
+
# Expects the '*' (asterisk) character.
|
1012
|
+
#
|
1013
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
1014
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
1015
|
+
#
|
1016
|
+
#
|
1017
|
+
#
|
1018
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
1019
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
1020
|
+
#
|
962
1021
|
# @option params [String] :sse_customer_algorithm
|
963
1022
|
# The server-side encryption (SSE) algorithm used to encrypt the object.
|
964
1023
|
# This parameter is required only when the object was created using a
|
@@ -1074,6 +1133,7 @@ module Aws::S3
|
|
1074
1133
|
# checksum_sha256: "ChecksumSHA256",
|
1075
1134
|
# request_payer: "requester", # accepts requester
|
1076
1135
|
# expected_bucket_owner: "AccountId",
|
1136
|
+
# if_none_match: "IfNoneMatch",
|
1077
1137
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1078
1138
|
# sse_customer_key: "SSECustomerKey",
|
1079
1139
|
# sse_customer_key_md5: "SSECustomerKeyMD5",
|
@@ -1120,12 +1180,20 @@ module Aws::S3
|
|
1120
1180
|
# between directory buckets, and between general purpose buckets and
|
1121
1181
|
# directory buckets.
|
1122
1182
|
#
|
1123
|
-
# <note markdown="1">
|
1124
|
-
#
|
1125
|
-
#
|
1126
|
-
#
|
1127
|
-
#
|
1128
|
-
#
|
1183
|
+
# <note markdown="1"> * Amazon S3 supports copy operations using Multi-Region Access Points
|
1184
|
+
# only as a destination when using the Multi-Region Access Point ARN.
|
1185
|
+
#
|
1186
|
+
# * <b>Directory buckets </b> - For directory buckets, you must make
|
1187
|
+
# requests for this API operation to the Zonal endpoint. These
|
1188
|
+
# endpoints support virtual-hosted-style requests in the format
|
1189
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
1190
|
+
# `. Path-style requests are not supported. For more information, see
|
1191
|
+
# [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
|
1192
|
+
#
|
1193
|
+
# * VPC endpoints don't support cross-Region requests (including
|
1194
|
+
# copies). If you're using VPC endpoints, your source and destination
|
1195
|
+
# buckets should be in the same Amazon Web Services Region as your VPC
|
1196
|
+
# endpoint.
|
1129
1197
|
#
|
1130
1198
|
# </note>
|
1131
1199
|
#
|
@@ -1201,8 +1269,7 @@ module Aws::S3
|
|
1201
1269
|
# : When the request is an HTTP 1.1 request, the response is chunk
|
1202
1270
|
# encoded. When the request is not an HTTP 1.1 request, the response
|
1203
1271
|
# would not contain the `Content-Length`. You always need to read the
|
1204
|
-
# entire response body to check if the copy succeeds.
|
1205
|
-
# connection alive while we copy the data.
|
1272
|
+
# entire response body to check if the copy succeeds.
|
1206
1273
|
#
|
1207
1274
|
# * If the copy is successful, you receive a response with information
|
1208
1275
|
# about the copied object.
|
@@ -2328,33 +2395,33 @@ module Aws::S3
|
|
2328
2395
|
# * {Types::CreateBucketOutput#location #location} => String
|
2329
2396
|
#
|
2330
2397
|
#
|
2331
|
-
# @example Example: To create a bucket
|
2398
|
+
# @example Example: To create a bucket in a specific region
|
2332
2399
|
#
|
2333
|
-
# # The following example creates a bucket.
|
2400
|
+
# # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
|
2334
2401
|
#
|
2335
2402
|
# resp = client.create_bucket({
|
2336
2403
|
# bucket: "examplebucket",
|
2404
|
+
# create_bucket_configuration: {
|
2405
|
+
# location_constraint: "eu-west-1",
|
2406
|
+
# },
|
2337
2407
|
# })
|
2338
2408
|
#
|
2339
2409
|
# resp.to_h outputs the following:
|
2340
2410
|
# {
|
2341
|
-
# location: "/
|
2411
|
+
# location: "http://examplebucket.<Region>.s3.amazonaws.com/",
|
2342
2412
|
# }
|
2343
2413
|
#
|
2344
|
-
# @example Example: To create a bucket
|
2414
|
+
# @example Example: To create a bucket
|
2345
2415
|
#
|
2346
|
-
# # The following example creates a bucket.
|
2416
|
+
# # The following example creates a bucket.
|
2347
2417
|
#
|
2348
2418
|
# resp = client.create_bucket({
|
2349
2419
|
# bucket: "examplebucket",
|
2350
|
-
# create_bucket_configuration: {
|
2351
|
-
# location_constraint: "eu-west-1",
|
2352
|
-
# },
|
2353
2420
|
# })
|
2354
2421
|
#
|
2355
2422
|
# resp.to_h outputs the following:
|
2356
2423
|
# {
|
2357
|
-
# location: "
|
2424
|
+
# location: "/examplebucket",
|
2358
2425
|
# }
|
2359
2426
|
#
|
2360
2427
|
# @example Request syntax with placeholder values
|
@@ -2443,24 +2510,23 @@ module Aws::S3
|
|
2443
2510
|
# Version 4)][5] in the *Amazon S3 User Guide*.
|
2444
2511
|
#
|
2445
2512
|
# Permissions
|
2446
|
-
# : * **General purpose bucket permissions** -
|
2447
|
-
#
|
2448
|
-
#
|
2449
|
-
#
|
2450
|
-
#
|
2451
|
-
#
|
2452
|
-
#
|
2453
|
-
# `
|
2454
|
-
#
|
2455
|
-
#
|
2456
|
-
#
|
2457
|
-
#
|
2458
|
-
#
|
2459
|
-
# Guide*.
|
2513
|
+
# : * **General purpose bucket permissions** - To perform a multipart
|
2514
|
+
# upload with encryption using an Key Management Service (KMS) KMS
|
2515
|
+
# key, the requester must have permission to the `kms:Decrypt` and
|
2516
|
+
# `kms:GenerateDataKey` actions on the key. The requester must also
|
2517
|
+
# have permissions for the `kms:GenerateDataKey` action for the
|
2518
|
+
# `CreateMultipartUpload` API. Then, the requester needs permissions
|
2519
|
+
# for the `kms:Decrypt` action on the `UploadPart` and
|
2520
|
+
# `UploadPartCopy` APIs. These permissions are required because
|
2521
|
+
# Amazon S3 must decrypt and read data from the encrypted file parts
|
2522
|
+
# before it completes the multipart upload. For more information,
|
2523
|
+
# see [Multipart upload API and permissions][6] and [Protecting data
|
2524
|
+
# using server-side encryption with Amazon Web Services KMS][7] in
|
2525
|
+
# the *Amazon S3 User Guide*.
|
2460
2526
|
#
|
2461
2527
|
# * **Directory bucket permissions** - To grant access to this API
|
2462
2528
|
# operation on a directory bucket, we recommend that you use the [
|
2463
|
-
# `CreateSession` ][
|
2529
|
+
# `CreateSession` ][8] API operation for session-based
|
2464
2530
|
# authorization. Specifically, you grant the
|
2465
2531
|
# `s3express:CreateSession` permission to the directory bucket in a
|
2466
2532
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -2471,7 +2537,7 @@ module Aws::S3
|
|
2471
2537
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
2472
2538
|
# refresh the session token automatically to avoid service
|
2473
2539
|
# interruptions when a session expires. For more information about
|
2474
|
-
# authorization, see [ `CreateSession` ][
|
2540
|
+
# authorization, see [ `CreateSession` ][8].
|
2475
2541
|
#
|
2476
2542
|
# Encryption
|
2477
2543
|
# : * **General purpose buckets** - Server-side encryption is for data
|
@@ -2498,7 +2564,7 @@ module Aws::S3
|
|
2498
2564
|
# the destination bucket, the encryption setting in your request
|
2499
2565
|
# takes precedence. If you choose to provide your own encryption
|
2500
2566
|
# key, the request headers you provide in [UploadPart][1] and
|
2501
|
-
# [UploadPartCopy][
|
2567
|
+
# [UploadPartCopy][9] requests must match the headers you used in
|
2502
2568
|
# the `CreateMultipartUpload` request.
|
2503
2569
|
#
|
2504
2570
|
# * Use KMS keys (SSE-KMS) that include the Amazon Web Services
|
@@ -2524,9 +2590,9 @@ module Aws::S3
|
|
2524
2590
|
# actions on the key. These permissions are required because
|
2525
2591
|
# Amazon S3 must decrypt and read data from the encrypted file
|
2526
2592
|
# parts before it completes the multipart upload. For more
|
2527
|
-
# information, see [Multipart upload API and permissions][
|
2593
|
+
# information, see [Multipart upload API and permissions][6] and
|
2528
2594
|
# [Protecting data using server-side encryption with Amazon Web
|
2529
|
-
# Services KMS][
|
2595
|
+
# Services KMS][7] in the *Amazon S3 User Guide*.
|
2530
2596
|
#
|
2531
2597
|
# * If your Identity and Access Management (IAM) user or role is
|
2532
2598
|
# in the same Amazon Web Services account as the KMS key, then
|
@@ -2541,13 +2607,13 @@ module Aws::S3
|
|
2541
2607
|
# For information about configuring any of the officially
|
2542
2608
|
# supported Amazon Web Services SDKs and Amazon Web Services
|
2543
2609
|
# CLI, see [Specifying the Signature Version in Request
|
2544
|
-
# Authentication][
|
2610
|
+
# Authentication][10] in the *Amazon S3 User Guide*.
|
2545
2611
|
#
|
2546
2612
|
# </note>
|
2547
2613
|
#
|
2548
2614
|
# For more information about server-side encryption with KMS keys
|
2549
2615
|
# (SSE-KMS), see [Protecting Data Using Server-Side Encryption
|
2550
|
-
# with KMS keys][
|
2616
|
+
# with KMS keys][7] in the *Amazon S3 User Guide*.
|
2551
2617
|
#
|
2552
2618
|
# * Use customer-provided encryption keys (SSE-C) – If you want to
|
2553
2619
|
# manage your own encryption keys, provide all the following
|
@@ -2562,7 +2628,7 @@ module Aws::S3
|
|
2562
2628
|
# For more information about server-side encryption with
|
2563
2629
|
# customer-provided encryption keys (SSE-C), see [ Protecting data
|
2564
2630
|
# using server-side encryption with customer-provided encryption
|
2565
|
-
# keys (SSE-C)][
|
2631
|
+
# keys (SSE-C)][11] in the *Amazon S3 User Guide*.
|
2566
2632
|
#
|
2567
2633
|
# * **Directory buckets** -For directory buckets, only server-side
|
2568
2634
|
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is
|
@@ -2577,13 +2643,13 @@ module Aws::S3
|
|
2577
2643
|
#
|
2578
2644
|
# * [UploadPart][1]
|
2579
2645
|
#
|
2580
|
-
# * [CompleteMultipartUpload][
|
2646
|
+
# * [CompleteMultipartUpload][12]
|
2581
2647
|
#
|
2582
|
-
# * [AbortMultipartUpload][
|
2648
|
+
# * [AbortMultipartUpload][13]
|
2583
2649
|
#
|
2584
|
-
# * [ListParts][
|
2650
|
+
# * [ListParts][14]
|
2585
2651
|
#
|
2586
|
-
# * [ListMultipartUploads][
|
2652
|
+
# * [ListMultipartUploads][15]
|
2587
2653
|
#
|
2588
2654
|
#
|
2589
2655
|
#
|
@@ -2592,17 +2658,16 @@ module Aws::S3
|
|
2592
2658
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
|
2593
2659
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
2594
2660
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
|
2595
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2596
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
2597
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2598
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2599
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2600
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2601
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2602
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2603
|
-
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2604
|
-
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2605
|
-
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
2661
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
2662
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
2663
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
2664
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2665
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
2666
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
|
2667
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
2668
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
2669
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
2670
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
2606
2671
|
#
|
2607
2672
|
# @option params [String] :acl
|
2608
2673
|
# The canned ACL to apply to the object. Amazon S3 supports a set of
|
@@ -4487,6 +4552,15 @@ module Aws::S3
|
|
4487
4552
|
# * {Types::DeleteObjectOutput#request_charged #request_charged} => String
|
4488
4553
|
#
|
4489
4554
|
#
|
4555
|
+
# @example Example: To delete an object (from a non-versioned bucket)
|
4556
|
+
#
|
4557
|
+
# # The following example deletes an object from a non-versioned bucket.
|
4558
|
+
#
|
4559
|
+
# resp = client.delete_object({
|
4560
|
+
# bucket: "ExampleBucket",
|
4561
|
+
# key: "HappyFace.jpg",
|
4562
|
+
# })
|
4563
|
+
#
|
4490
4564
|
# @example Example: To delete an object
|
4491
4565
|
#
|
4492
4566
|
# # The following example deletes an object from an S3 bucket.
|
@@ -4500,15 +4574,6 @@ module Aws::S3
|
|
4500
4574
|
# {
|
4501
4575
|
# }
|
4502
4576
|
#
|
4503
|
-
# @example Example: To delete an object (from a non-versioned bucket)
|
4504
|
-
#
|
4505
|
-
# # The following example deletes an object from a non-versioned bucket.
|
4506
|
-
#
|
4507
|
-
# resp = client.delete_object({
|
4508
|
-
# bucket: "ExampleBucket",
|
4509
|
-
# key: "HappyFace.jpg",
|
4510
|
-
# })
|
4511
|
-
#
|
4512
4577
|
# @example Request syntax with placeholder values
|
4513
4578
|
#
|
4514
4579
|
# resp = client.delete_object({
|
@@ -4717,7 +4782,7 @@ module Aws::S3
|
|
4717
4782
|
# permission.
|
4718
4783
|
#
|
4719
4784
|
# * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
|
4720
|
-
# specific version of an object from a
|
4785
|
+
# specific version of an object from a versioning-enabled bucket,
|
4721
4786
|
# you must specify the `s3:DeleteObjectVersion` permission.
|
4722
4787
|
#
|
4723
4788
|
# * **Directory bucket permissions** - To grant access to this API
|
@@ -4918,22 +4983,20 @@ module Aws::S3
|
|
4918
4983
|
# * {Types::DeleteObjectsOutput#errors #errors} => Array<Types::Error>
|
4919
4984
|
#
|
4920
4985
|
#
|
4921
|
-
# @example Example: To delete multiple
|
4986
|
+
# @example Example: To delete multiple objects from a versioned bucket
|
4922
4987
|
#
|
4923
|
-
# # The following example deletes objects from a bucket. The
|
4924
|
-
# #
|
4988
|
+
# # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
|
4989
|
+
# # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
|
4925
4990
|
#
|
4926
4991
|
# resp = client.delete_objects({
|
4927
4992
|
# bucket: "examplebucket",
|
4928
4993
|
# delete: {
|
4929
4994
|
# objects: [
|
4930
4995
|
# {
|
4931
|
-
# key: "
|
4932
|
-
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
4996
|
+
# key: "objectkey1",
|
4933
4997
|
# },
|
4934
4998
|
# {
|
4935
|
-
# key: "
|
4936
|
-
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
4999
|
+
# key: "objectkey2",
|
4937
5000
|
# },
|
4938
5001
|
# ],
|
4939
5002
|
# quiet: false,
|
@@ -4944,30 +5007,34 @@ module Aws::S3
|
|
4944
5007
|
# {
|
4945
5008
|
# deleted: [
|
4946
5009
|
# {
|
4947
|
-
#
|
4948
|
-
#
|
5010
|
+
# delete_marker: true,
|
5011
|
+
# delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
|
5012
|
+
# key: "objectkey1",
|
4949
5013
|
# },
|
4950
5014
|
# {
|
4951
|
-
#
|
4952
|
-
#
|
5015
|
+
# delete_marker: true,
|
5016
|
+
# delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
|
5017
|
+
# key: "objectkey2",
|
4953
5018
|
# },
|
4954
5019
|
# ],
|
4955
5020
|
# }
|
4956
5021
|
#
|
4957
|
-
# @example Example: To delete multiple
|
5022
|
+
# @example Example: To delete multiple object versions from a versioned bucket
|
4958
5023
|
#
|
4959
|
-
# # The following example deletes objects from a bucket. The
|
4960
|
-
# #
|
5024
|
+
# # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
|
5025
|
+
# # versions and returns the key and versions of deleted objects in the response.
|
4961
5026
|
#
|
4962
5027
|
# resp = client.delete_objects({
|
4963
5028
|
# bucket: "examplebucket",
|
4964
5029
|
# delete: {
|
4965
5030
|
# objects: [
|
4966
5031
|
# {
|
4967
|
-
# key: "
|
5032
|
+
# key: "HappyFace.jpg",
|
5033
|
+
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
4968
5034
|
# },
|
4969
5035
|
# {
|
4970
|
-
# key: "
|
5036
|
+
# key: "HappyFace.jpg",
|
5037
|
+
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
4971
5038
|
# },
|
4972
5039
|
# ],
|
4973
5040
|
# quiet: false,
|
@@ -4978,14 +5045,12 @@ module Aws::S3
|
|
4978
5045
|
# {
|
4979
5046
|
# deleted: [
|
4980
5047
|
# {
|
4981
|
-
#
|
4982
|
-
#
|
4983
|
-
# key: "objectkey1",
|
5048
|
+
# key: "HappyFace.jpg",
|
5049
|
+
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
4984
5050
|
# },
|
4985
5051
|
# {
|
4986
|
-
#
|
4987
|
-
#
|
4988
|
-
# key: "objectkey2",
|
5052
|
+
# key: "HappyFace.jpg",
|
5053
|
+
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
4989
5054
|
# },
|
4990
5055
|
# ],
|
4991
5056
|
# }
|
@@ -7652,6 +7717,15 @@ module Aws::S3
|
|
7652
7717
|
# @option params [String] :checksum_mode
|
7653
7718
|
# To retrieve the checksum, this mode must be enabled.
|
7654
7719
|
#
|
7720
|
+
# In addition, if you enable checksum mode and the object is uploaded
|
7721
|
+
# with a [checksum][1] and encrypted with an Key Management Service
|
7722
|
+
# (KMS) key, you must have permission to use the `kms:Decrypt` action to
|
7723
|
+
# retrieve the checksum.
|
7724
|
+
#
|
7725
|
+
#
|
7726
|
+
#
|
7727
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
7728
|
+
#
|
7655
7729
|
# @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
7656
7730
|
#
|
7657
7731
|
# * {Types::GetObjectOutput#body #body} => IO
|
@@ -7693,49 +7767,49 @@ module Aws::S3
|
|
7693
7767
|
# * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
|
7694
7768
|
#
|
7695
7769
|
#
|
7696
|
-
# @example Example: To retrieve
|
7770
|
+
# @example Example: To retrieve an object
|
7697
7771
|
#
|
7698
|
-
# # The following example retrieves an object for an S3 bucket.
|
7699
|
-
# # specific byte range.
|
7772
|
+
# # The following example retrieves an object for an S3 bucket.
|
7700
7773
|
#
|
7701
7774
|
# resp = client.get_object({
|
7702
7775
|
# bucket: "examplebucket",
|
7703
|
-
# key: "
|
7704
|
-
# range: "bytes=0-9",
|
7776
|
+
# key: "HappyFace.jpg",
|
7705
7777
|
# })
|
7706
7778
|
#
|
7707
7779
|
# resp.to_h outputs the following:
|
7708
7780
|
# {
|
7709
7781
|
# accept_ranges: "bytes",
|
7710
|
-
# content_length:
|
7711
|
-
#
|
7712
|
-
#
|
7713
|
-
#
|
7714
|
-
# last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
|
7782
|
+
# content_length: 3191,
|
7783
|
+
# content_type: "image/jpeg",
|
7784
|
+
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
7785
|
+
# last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
|
7715
7786
|
# metadata: {
|
7716
7787
|
# },
|
7788
|
+
# tag_count: 2,
|
7717
7789
|
# version_id: "null",
|
7718
7790
|
# }
|
7719
7791
|
#
|
7720
|
-
# @example Example: To retrieve an object
|
7792
|
+
# @example Example: To retrieve a byte range of an object
|
7721
7793
|
#
|
7722
|
-
# # The following example retrieves an object for an S3 bucket.
|
7794
|
+
# # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
|
7795
|
+
# # specific byte range.
|
7723
7796
|
#
|
7724
7797
|
# resp = client.get_object({
|
7725
7798
|
# bucket: "examplebucket",
|
7726
|
-
# key: "
|
7799
|
+
# key: "SampleFile.txt",
|
7800
|
+
# range: "bytes=0-9",
|
7727
7801
|
# })
|
7728
7802
|
#
|
7729
7803
|
# resp.to_h outputs the following:
|
7730
7804
|
# {
|
7731
7805
|
# accept_ranges: "bytes",
|
7732
|
-
# content_length:
|
7733
|
-
#
|
7734
|
-
#
|
7735
|
-
#
|
7806
|
+
# content_length: 10,
|
7807
|
+
# content_range: "bytes 0-9/43",
|
7808
|
+
# content_type: "text/plain",
|
7809
|
+
# etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
|
7810
|
+
# last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
|
7736
7811
|
# metadata: {
|
7737
7812
|
# },
|
7738
|
-
# tag_count: 2,
|
7739
7813
|
# version_id: "null",
|
7740
7814
|
# }
|
7741
7815
|
#
|
@@ -8735,49 +8809,49 @@ module Aws::S3
|
|
8735
8809
|
# * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array<Types::Tag>
|
8736
8810
|
#
|
8737
8811
|
#
|
8738
|
-
# @example Example: To retrieve tag set of
|
8812
|
+
# @example Example: To retrieve tag set of an object
|
8739
8813
|
#
|
8740
|
-
# # The following example retrieves tag set of an object.
|
8814
|
+
# # The following example retrieves tag set of an object.
|
8741
8815
|
#
|
8742
8816
|
# resp = client.get_object_tagging({
|
8743
8817
|
# bucket: "examplebucket",
|
8744
|
-
# key: "
|
8745
|
-
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8818
|
+
# key: "HappyFace.jpg",
|
8746
8819
|
# })
|
8747
8820
|
#
|
8748
8821
|
# resp.to_h outputs the following:
|
8749
8822
|
# {
|
8750
8823
|
# tag_set: [
|
8751
8824
|
# {
|
8752
|
-
# key: "
|
8753
|
-
# value: "
|
8825
|
+
# key: "Key4",
|
8826
|
+
# value: "Value4",
|
8827
|
+
# },
|
8828
|
+
# {
|
8829
|
+
# key: "Key3",
|
8830
|
+
# value: "Value3",
|
8754
8831
|
# },
|
8755
8832
|
# ],
|
8756
|
-
# version_id: "
|
8833
|
+
# version_id: "null",
|
8757
8834
|
# }
|
8758
8835
|
#
|
8759
|
-
# @example Example: To retrieve tag set of
|
8836
|
+
# @example Example: To retrieve tag set of a specific object version
|
8760
8837
|
#
|
8761
|
-
# # The following example retrieves tag set of an object.
|
8838
|
+
# # The following example retrieves tag set of an object. The request specifies object version.
|
8762
8839
|
#
|
8763
8840
|
# resp = client.get_object_tagging({
|
8764
8841
|
# bucket: "examplebucket",
|
8765
|
-
# key: "
|
8842
|
+
# key: "exampleobject",
|
8843
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8766
8844
|
# })
|
8767
8845
|
#
|
8768
8846
|
# resp.to_h outputs the following:
|
8769
8847
|
# {
|
8770
8848
|
# tag_set: [
|
8771
8849
|
# {
|
8772
|
-
# key: "
|
8773
|
-
# value: "
|
8774
|
-
# },
|
8775
|
-
# {
|
8776
|
-
# key: "Key3",
|
8777
|
-
# value: "Value3",
|
8850
|
+
# key: "Key1",
|
8851
|
+
# value: "Value1",
|
8778
8852
|
# },
|
8779
8853
|
# ],
|
8780
|
-
# version_id: "
|
8854
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8781
8855
|
# }
|
8782
8856
|
#
|
8783
8857
|
# @example Request syntax with placeholder values
|
@@ -8986,29 +9060,24 @@ module Aws::S3
|
|
8986
9060
|
# have permission to access it. The action returns a `200 OK` if the
|
8987
9061
|
# bucket exists and you have permission to access it.
|
8988
9062
|
#
|
8989
|
-
# If the bucket does not exist or you do not have permission to access
|
9063
|
+
# <note markdown="1"> If the bucket does not exist or you do not have permission to access
|
8990
9064
|
# it, the `HEAD` request returns a generic `400 Bad Request`, `403
|
8991
9065
|
# Forbidden` or `404 Not Found` code. A message body is not included, so
|
8992
9066
|
# you cannot determine the exception beyond these HTTP response codes.
|
8993
9067
|
#
|
8994
|
-
# <note markdown="1"> <b>Directory buckets </b> - You must make requests for this API
|
8995
|
-
# operation to the Zonal endpoint. These endpoints support
|
8996
|
-
# virtual-hosted-style requests in the format
|
8997
|
-
# `https://bucket_name.s3express-az_id.region.amazonaws.com`. Path-style
|
8998
|
-
# requests are not supported. For more information, see [Regional and
|
8999
|
-
# Zonal endpoints][1] in the *Amazon S3 User Guide*.
|
9000
|
-
#
|
9001
9068
|
# </note>
|
9002
9069
|
#
|
9003
9070
|
# Authentication and authorization
|
9004
9071
|
#
|
9005
|
-
# :
|
9006
|
-
#
|
9007
|
-
#
|
9072
|
+
# : **General purpose buckets** - Request to public buckets that grant
|
9073
|
+
# the s3:ListBucket permission publicly do not need to be signed. All
|
9074
|
+
# other `HeadBucket` requests must be authenticated and signed by
|
9075
|
+
# using IAM credentials (access key ID and secret access key for the
|
9076
|
+
# IAM identities). All headers with the `x-amz-` prefix, including
|
9008
9077
|
# `x-amz-copy-source`, must be signed. For more information, see [REST
|
9009
|
-
# Authentication][
|
9078
|
+
# Authentication][1].
|
9010
9079
|
#
|
9011
|
-
# **Directory
|
9080
|
+
# **Directory buckets** - You must use IAM credentials to authenticate
|
9012
9081
|
# and authorize your access to the `HeadBucket` API operation, instead
|
9013
9082
|
# of using the temporary security credentials through the
|
9014
9083
|
# `CreateSession` API operation.
|
@@ -9024,7 +9093,7 @@ module Aws::S3
|
|
9024
9093
|
# you must have permissions to perform the `s3:ListBucket` action.
|
9025
9094
|
# The bucket owner has this permission by default and can grant this
|
9026
9095
|
# permission to others. For more information about permissions, see
|
9027
|
-
# [Managing access permissions to your Amazon S3 resources][
|
9096
|
+
# [Managing access permissions to your Amazon S3 resources][2] in
|
9028
9097
|
# the *Amazon S3 User Guide*.
|
9029
9098
|
#
|
9030
9099
|
# * **Directory bucket permissions** - You must have the <b>
|
@@ -9035,9 +9104,9 @@ module Aws::S3
|
|
9035
9104
|
# `ReadOnly` on the bucket.
|
9036
9105
|
#
|
9037
9106
|
# For more information about example bucket policies, see [Example
|
9038
|
-
# bucket policies for S3 Express One Zone][
|
9107
|
+
# bucket policies for S3 Express One Zone][3] and [Amazon Web
|
9039
9108
|
# Services Identity and Access Management (IAM) identity-based
|
9040
|
-
# policies for S3 Express One Zone][
|
9109
|
+
# policies for S3 Express One Zone][4] in the *Amazon S3 User
|
9041
9110
|
# Guide*.
|
9042
9111
|
#
|
9043
9112
|
# HTTP Host header syntax
|
@@ -9045,13 +9114,21 @@ module Aws::S3
|
|
9045
9114
|
# : <b>Directory buckets </b> - The HTTP Host header syntax is `
|
9046
9115
|
# Bucket_name.s3express-az_id.region.amazonaws.com`.
|
9047
9116
|
#
|
9117
|
+
# <note markdown="1"> You must make requests for this API operation to the Zonal endpoint.
|
9118
|
+
# These endpoints support virtual-hosted-style requests in the format
|
9119
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com`.
|
9120
|
+
# Path-style requests are not supported. For more information, see
|
9121
|
+
# [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
|
9122
|
+
#
|
9123
|
+
# </note>
|
9048
9124
|
#
|
9049
9125
|
#
|
9050
|
-
#
|
9051
|
-
# [
|
9052
|
-
# [
|
9053
|
-
# [
|
9054
|
-
# [
|
9126
|
+
#
|
9127
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
9128
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
9129
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
9130
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
9131
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
9055
9132
|
#
|
9056
9133
|
# @option params [required, String] :bucket
|
9057
9134
|
# The bucket name.
|
@@ -9159,7 +9236,7 @@ module Aws::S3
|
|
9159
9236
|
# returning the object itself. This operation is useful if you're
|
9160
9237
|
# interested only in an object's metadata.
|
9161
9238
|
#
|
9162
|
-
# A `HEAD` request has the same options as a `GET` operation on an
|
9239
|
+
# <note markdown="1"> A `HEAD` request has the same options as a `GET` operation on an
|
9163
9240
|
# object. The response is identical to the `GET` response except that
|
9164
9241
|
# there is no response body. Because of this, if the `HEAD` request
|
9165
9242
|
# generates an error, it returns a generic code, such as `400 Bad
|
@@ -9167,18 +9244,11 @@ module Aws::S3
|
|
9167
9244
|
# `412 Precondition Failed`, or `304 Not Modified`. It's not possible
|
9168
9245
|
# to retrieve the exact exception of these error codes.
|
9169
9246
|
#
|
9247
|
+
# </note>
|
9248
|
+
#
|
9170
9249
|
# Request headers are limited to 8 KB in size. For more information, see
|
9171
9250
|
# [Common Request Headers][1].
|
9172
9251
|
#
|
9173
|
-
# <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
|
9174
|
-
# for this API operation to the Zonal endpoint. These endpoints support
|
9175
|
-
# virtual-hosted-style requests in the format
|
9176
|
-
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
|
9177
|
-
# Path-style requests are not supported. For more information, see
|
9178
|
-
# [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
|
9179
|
-
#
|
9180
|
-
# </note>
|
9181
|
-
#
|
9182
9252
|
# Permissions
|
9183
9253
|
#
|
9184
9254
|
# :
|
@@ -9187,7 +9257,7 @@ module Aws::S3
|
|
9187
9257
|
# have the `s3:GetObject` permission. You need the relevant read
|
9188
9258
|
# object (or version) permission for this operation. For more
|
9189
9259
|
# information, see [Actions, resources, and condition keys for
|
9190
|
-
# Amazon S3][
|
9260
|
+
# Amazon S3][2] in the *Amazon S3 User Guide*.
|
9191
9261
|
#
|
9192
9262
|
# If the object you request doesn't exist, the error that Amazon S3
|
9193
9263
|
# returns depends on whether you also have the `s3:ListBucket`
|
@@ -9201,7 +9271,7 @@ module Aws::S3
|
|
9201
9271
|
#
|
9202
9272
|
# * **Directory bucket permissions** - To grant access to this API
|
9203
9273
|
# operation on a directory bucket, we recommend that you use the [
|
9204
|
-
# `CreateSession` ][
|
9274
|
+
# `CreateSession` ][3] API operation for session-based
|
9205
9275
|
# authorization. Specifically, you grant the
|
9206
9276
|
# `s3express:CreateSession` permission to the directory bucket in a
|
9207
9277
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -9212,7 +9282,7 @@ module Aws::S3
|
|
9212
9282
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
9213
9283
|
# refresh the session token automatically to avoid service
|
9214
9284
|
# interruptions when a session expires. For more information about
|
9215
|
-
# authorization, see [ `CreateSession` ][
|
9285
|
+
# authorization, see [ `CreateSession` ][3].
|
9216
9286
|
#
|
9217
9287
|
# Encryption
|
9218
9288
|
# : <note markdown="1"> Encryption request headers, like `x-amz-server-side-encryption`,
|
@@ -9244,7 +9314,7 @@ module Aws::S3
|
|
9244
9314
|
# * `x-amz-server-side-encryption-customer-key-MD5`
|
9245
9315
|
#
|
9246
9316
|
# For more information about SSE-C, see [Server-Side Encryption (Using
|
9247
|
-
# Customer-Provided Encryption Keys)][
|
9317
|
+
# Customer-Provided Encryption Keys)][4] in the *Amazon S3 User
|
9248
9318
|
# Guide*.
|
9249
9319
|
#
|
9250
9320
|
# <note markdown="1"> **Directory bucket permissions** - For directory buckets, only
|
@@ -9278,6 +9348,15 @@ module Aws::S3
|
|
9278
9348
|
# : <b>Directory buckets </b> - The HTTP Host header syntax is `
|
9279
9349
|
# Bucket_name.s3express-az_id.region.amazonaws.com`.
|
9280
9350
|
#
|
9351
|
+
# <note markdown="1"> For directory buckets, you must make requests for this API operation
|
9352
|
+
# to the Zonal endpoint. These endpoints support virtual-hosted-style
|
9353
|
+
# requests in the format
|
9354
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
9355
|
+
# `. Path-style requests are not supported. For more information, see
|
9356
|
+
# [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
|
9357
|
+
#
|
9358
|
+
# </note>
|
9359
|
+
#
|
9281
9360
|
# The following actions are related to `HeadObject`:
|
9282
9361
|
#
|
9283
9362
|
# * [GetObject][6]
|
@@ -9287,10 +9366,10 @@ module Aws::S3
|
|
9287
9366
|
#
|
9288
9367
|
#
|
9289
9368
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
|
9290
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9291
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9292
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9293
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9369
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
|
9370
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
9371
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
9372
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
9294
9373
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
9295
9374
|
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
|
9296
9375
|
#
|
@@ -9423,6 +9502,24 @@ module Aws::S3
|
|
9423
9502
|
# the Range is not satisfiable, S3 returns a `416 - Requested Range Not
|
9424
9503
|
# Satisfiable` error.
|
9425
9504
|
#
|
9505
|
+
# @option params [String] :response_cache_control
|
9506
|
+
# Sets the `Cache-Control` header of the response.
|
9507
|
+
#
|
9508
|
+
# @option params [String] :response_content_disposition
|
9509
|
+
# Sets the `Content-Disposition` header of the response.
|
9510
|
+
#
|
9511
|
+
# @option params [String] :response_content_encoding
|
9512
|
+
# Sets the `Content-Encoding` header of the response.
|
9513
|
+
#
|
9514
|
+
# @option params [String] :response_content_language
|
9515
|
+
# Sets the `Content-Language` header of the response.
|
9516
|
+
#
|
9517
|
+
# @option params [String] :response_content_type
|
9518
|
+
# Sets the `Content-Type` header of the response.
|
9519
|
+
#
|
9520
|
+
# @option params [Time,DateTime,Date,Integer,String] :response_expires
|
9521
|
+
# Sets the `Expires` header of the response.
|
9522
|
+
#
|
9426
9523
|
# @option params [String] :version_id
|
9427
9524
|
# Version ID used to reference a specific version of the object.
|
9428
9525
|
#
|
@@ -9490,10 +9587,14 @@ module Aws::S3
|
|
9490
9587
|
# @option params [String] :checksum_mode
|
9491
9588
|
# To retrieve the checksum, this parameter must be enabled.
|
9492
9589
|
#
|
9493
|
-
# In addition, if you enable
|
9494
|
-
# with
|
9495
|
-
# KMS), you must have permission to use the `kms:Decrypt` action
|
9496
|
-
#
|
9590
|
+
# In addition, if you enable checksum mode and the object is uploaded
|
9591
|
+
# with a [checksum][1] and encrypted with an Key Management Service
|
9592
|
+
# (KMS) key, you must have permission to use the `kms:Decrypt` action to
|
9593
|
+
# retrieve the checksum.
|
9594
|
+
#
|
9595
|
+
#
|
9596
|
+
#
|
9597
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
9497
9598
|
#
|
9498
9599
|
# @return [Types::HeadObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
9499
9600
|
#
|
@@ -9565,6 +9666,12 @@ module Aws::S3
|
|
9565
9666
|
# if_unmodified_since: Time.now,
|
9566
9667
|
# key: "ObjectKey", # required
|
9567
9668
|
# range: "Range",
|
9669
|
+
# response_cache_control: "ResponseCacheControl",
|
9670
|
+
# response_content_disposition: "ResponseContentDisposition",
|
9671
|
+
# response_content_encoding: "ResponseContentEncoding",
|
9672
|
+
# response_content_language: "ResponseContentLanguage",
|
9673
|
+
# response_content_type: "ResponseContentType",
|
9674
|
+
# response_expires: Time.now,
|
9568
9675
|
# version_id: "ObjectVersionId",
|
9569
9676
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
9570
9677
|
# sse_customer_key: "SSECustomerKey",
|
@@ -10041,10 +10148,28 @@ module Aws::S3
|
|
10041
10148
|
#
|
10042
10149
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
|
10043
10150
|
#
|
10151
|
+
# @option params [Integer] :max_buckets
|
10152
|
+
# Maximum number of buckets to be returned in response. When the number
|
10153
|
+
# is more than the count of buckets that are owned by an Amazon Web
|
10154
|
+
# Services account, return all the buckets in response.
|
10155
|
+
#
|
10156
|
+
# @option params [String] :continuation_token
|
10157
|
+
# `ContinuationToken` indicates to Amazon S3 that the list is being
|
10158
|
+
# continued on this bucket with a token. `ContinuationToken` is
|
10159
|
+
# obfuscated and is not a real key. You can use this `ContinuationToken`
|
10160
|
+
# for pagination of the list results.
|
10161
|
+
#
|
10162
|
+
# Length Constraints: Minimum length of 0. Maximum length of 1024.
|
10163
|
+
#
|
10164
|
+
# Required: No.
|
10165
|
+
#
|
10044
10166
|
# @return [Types::ListBucketsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
10045
10167
|
#
|
10046
10168
|
# * {Types::ListBucketsOutput#buckets #buckets} => Array<Types::Bucket>
|
10047
10169
|
# * {Types::ListBucketsOutput#owner #owner} => Types::Owner
|
10170
|
+
# * {Types::ListBucketsOutput#continuation_token #continuation_token} => String
|
10171
|
+
#
|
10172
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
10048
10173
|
#
|
10049
10174
|
#
|
10050
10175
|
# @example Example: To list all buckets
|
@@ -10076,6 +10201,13 @@ module Aws::S3
|
|
10076
10201
|
# },
|
10077
10202
|
# }
|
10078
10203
|
#
|
10204
|
+
# @example Request syntax with placeholder values
|
10205
|
+
#
|
10206
|
+
# resp = client.list_buckets({
|
10207
|
+
# max_buckets: 1,
|
10208
|
+
# continuation_token: "Token",
|
10209
|
+
# })
|
10210
|
+
#
|
10079
10211
|
# @example Response structure
|
10080
10212
|
#
|
10081
10213
|
# resp.buckets #=> Array
|
@@ -10083,6 +10215,7 @@ module Aws::S3
|
|
10083
10215
|
# resp.buckets[0].creation_date #=> Time
|
10084
10216
|
# resp.owner.display_name #=> String
|
10085
10217
|
# resp.owner.id #=> String
|
10218
|
+
# resp.continuation_token #=> String
|
10086
10219
|
#
|
10087
10220
|
# @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets AWS API Documentation
|
10088
10221
|
#
|
@@ -10131,9 +10264,9 @@ module Aws::S3
|
|
10131
10264
|
#
|
10132
10265
|
# @option params [String] :continuation_token
|
10133
10266
|
# `ContinuationToken` indicates to Amazon S3 that the list is being
|
10134
|
-
# continued on this
|
10135
|
-
# obfuscated and is not a real
|
10136
|
-
# for pagination of the list results.
|
10267
|
+
# continued on buckets in this account with a token. `ContinuationToken`
|
10268
|
+
# is obfuscated and is not a real bucket name. You can use this
|
10269
|
+
# `ContinuationToken` for the pagination of the list results.
|
10137
10270
|
#
|
10138
10271
|
# @option params [Integer] :max_directory_buckets
|
10139
10272
|
# Maximum number of buckets to be returned in response. When the number
|
@@ -10177,7 +10310,11 @@ module Aws::S3
|
|
10177
10310
|
#
|
10178
10311
|
# <note markdown="1"> **Directory buckets** - If multipart uploads in a directory bucket are
|
10179
10312
|
# in progress, you can't delete the bucket until all the in-progress
|
10180
|
-
# multipart uploads are aborted or completed.
|
10313
|
+
# multipart uploads are aborted or completed. To delete these
|
10314
|
+
# in-progress multipart uploads, use the `ListMultipartUploads`
|
10315
|
+
# operation to list the in-progress multipart uploads in the bucket and
|
10316
|
+
# use the `AbortMultupartUpload` operation to abort all the in-progress
|
10317
|
+
# multipart uploads.
|
10181
10318
|
#
|
10182
10319
|
# </note>
|
10183
10320
|
#
|
@@ -10343,12 +10480,26 @@ module Aws::S3
|
|
10343
10480
|
# </note>
|
10344
10481
|
#
|
10345
10482
|
# @option params [String] :encoding_type
|
10346
|
-
#
|
10347
|
-
#
|
10348
|
-
# Unicode character
|
10349
|
-
# characters, such as characters with an ASCII value from
|
10350
|
-
# characters that
|
10351
|
-
# parameter to request that Amazon S3 encode the keys in the
|
10483
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
10484
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
10485
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
10486
|
+
# parse certain characters, such as characters with an ASCII value from
|
10487
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
10488
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
10489
|
+
# response. For more information about characters to avoid in object key
|
10490
|
+
# names, see [Object key naming guidelines][2].
|
10491
|
+
#
|
10492
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
10493
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
10494
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
10495
|
+
# `test_file%283%29.png`.
|
10496
|
+
#
|
10497
|
+
# </note>
|
10498
|
+
#
|
10499
|
+
#
|
10500
|
+
#
|
10501
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
10502
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
10352
10503
|
#
|
10353
10504
|
# @option params [String] :key_marker
|
10354
10505
|
# Specifies the multipart upload after which listing should begin.
|
@@ -10640,12 +10791,26 @@ module Aws::S3
|
|
10640
10791
|
# the response.
|
10641
10792
|
#
|
10642
10793
|
# @option params [String] :encoding_type
|
10643
|
-
#
|
10644
|
-
#
|
10645
|
-
# Unicode character
|
10646
|
-
# characters, such as characters with an ASCII value from
|
10647
|
-
# characters that
|
10648
|
-
# parameter to request that Amazon S3 encode the keys in the
|
10794
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
10795
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
10796
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
10797
|
+
# parse certain characters, such as characters with an ASCII value from
|
10798
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
10799
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
10800
|
+
# response. For more information about characters to avoid in object key
|
10801
|
+
# names, see [Object key naming guidelines][2].
|
10802
|
+
#
|
10803
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
10804
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
10805
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
10806
|
+
# `test_file%283%29.png`.
|
10807
|
+
#
|
10808
|
+
# </note>
|
10809
|
+
#
|
10810
|
+
#
|
10811
|
+
#
|
10812
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
10813
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
10649
10814
|
#
|
10650
10815
|
# @option params [String] :key_marker
|
10651
10816
|
# Specifies the key to start with when listing objects in a bucket.
|
@@ -10899,12 +11064,26 @@ module Aws::S3
|
|
10899
11064
|
# A delimiter is a character that you use to group keys.
|
10900
11065
|
#
|
10901
11066
|
# @option params [String] :encoding_type
|
10902
|
-
#
|
10903
|
-
#
|
10904
|
-
# Unicode character
|
10905
|
-
# characters, such as characters with an ASCII value from
|
10906
|
-
# characters that
|
10907
|
-
# parameter to request that Amazon S3 encode the keys in the
|
11067
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
11068
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
11069
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
11070
|
+
# parse certain characters, such as characters with an ASCII value from
|
11071
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
11072
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
11073
|
+
# response. For more information about characters to avoid in object key
|
11074
|
+
# names, see [Object key naming guidelines][2].
|
11075
|
+
#
|
11076
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
11077
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
11078
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
11079
|
+
# `test_file%283%29.png`.
|
11080
|
+
#
|
11081
|
+
# </note>
|
11082
|
+
#
|
11083
|
+
#
|
11084
|
+
#
|
11085
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
11086
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
10908
11087
|
#
|
10909
11088
|
# @option params [String] :marker
|
10910
11089
|
# Marker is where you want Amazon S3 to start listing from. Amazon S3
|
@@ -11046,12 +11225,20 @@ module Aws::S3
|
|
11046
11225
|
# programmatically][1] in the *Amazon S3 User Guide*. To get a list of
|
11047
11226
|
# your buckets, see [ListBuckets][2].
|
11048
11227
|
#
|
11049
|
-
# <note markdown="1"> **
|
11050
|
-
#
|
11051
|
-
#
|
11052
|
-
#
|
11053
|
-
#
|
11054
|
-
#
|
11228
|
+
# <note markdown="1"> * **General purpose bucket** - For general purpose buckets,
|
11229
|
+
# `ListObjectsV2` doesn't return prefixes that are related only to
|
11230
|
+
# in-progress multipart uploads.
|
11231
|
+
#
|
11232
|
+
# * **Directory buckets** - For directory buckets, `ListObjectsV2`
|
11233
|
+
# response includes the prefixes that are related only to in-progress
|
11234
|
+
# multipart uploads.
|
11235
|
+
#
|
11236
|
+
# * **Directory buckets** - For directory buckets, you must make
|
11237
|
+
# requests for this API operation to the Zonal endpoint. These
|
11238
|
+
# endpoints support virtual-hosted-style requests in the format
|
11239
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
11240
|
+
# `. Path-style requests are not supported. For more information, see
|
11241
|
+
# [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
|
11055
11242
|
#
|
11056
11243
|
# </note>
|
11057
11244
|
#
|
@@ -11180,10 +11367,26 @@ module Aws::S3
|
|
11180
11367
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
11181
11368
|
#
|
11182
11369
|
# @option params [String] :encoding_type
|
11183
|
-
# Encoding type used by Amazon S3 to encode object keys in the
|
11184
|
-
#
|
11185
|
-
#
|
11186
|
-
#
|
11370
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
11371
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
11372
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
11373
|
+
# parse certain characters, such as characters with an ASCII value from
|
11374
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
11375
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
11376
|
+
# response. For more information about characters to avoid in object key
|
11377
|
+
# names, see [Object key naming guidelines][2].
|
11378
|
+
#
|
11379
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
11380
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
11381
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
11382
|
+
# `test_file%283%29.png`.
|
11383
|
+
#
|
11384
|
+
# </note>
|
11385
|
+
#
|
11386
|
+
#
|
11387
|
+
#
|
11388
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
11389
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
11187
11390
|
#
|
11188
11391
|
# @option params [Integer] :max_keys
|
11189
11392
|
# Sets the maximum number of keys returned in the response. By default,
|
@@ -12402,9 +12605,15 @@ module Aws::S3
|
|
12402
12605
|
# S3 does not validate the KMS key ID provided in PutBucketEncryption
|
12403
12606
|
# requests.
|
12404
12607
|
#
|
12405
|
-
#
|
12406
|
-
#
|
12407
|
-
#
|
12608
|
+
# If you're specifying a customer managed KMS key, we recommend using a
|
12609
|
+
# fully qualified KMS key ARN. If you use a KMS key alias instead, then
|
12610
|
+
# KMS resolves the key within the requester’s account. This behavior can
|
12611
|
+
# result in data that's encrypted with a KMS key that belongs to the
|
12612
|
+
# requester, and not the bucket owner.
|
12613
|
+
#
|
12614
|
+
# Also, this action requires Amazon Web Services Signature Version 4.
|
12615
|
+
# For more information, see [ Authenticating Requests (Amazon Web
|
12616
|
+
# Services Signature Version 4)][3].
|
12408
12617
|
#
|
12409
12618
|
# To use this operation, you must have permission to perform the
|
12410
12619
|
# `s3:PutEncryptionConfiguration` action. The bucket owner has this
|
@@ -14472,6 +14681,14 @@ module Aws::S3
|
|
14472
14681
|
#
|
14473
14682
|
# </note>
|
14474
14683
|
#
|
14684
|
+
# <note markdown="1"> When you enable versioning on a bucket for the first time, it might
|
14685
|
+
# take a short amount of time for the change to be fully propagated. We
|
14686
|
+
# recommend that you wait for 15 minutes after enabling versioning
|
14687
|
+
# before issuing write operations (`PUT` or `DELETE`) on objects in the
|
14688
|
+
# bucket.
|
14689
|
+
#
|
14690
|
+
# </note>
|
14691
|
+
#
|
14475
14692
|
# Sets the versioning state of an existing bucket.
|
14476
14693
|
#
|
14477
14694
|
# You can set the versioning state with one of the following values:
|
@@ -15147,6 +15364,25 @@ module Aws::S3
|
|
15147
15364
|
#
|
15148
15365
|
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
15149
15366
|
#
|
15367
|
+
# @option params [String] :if_none_match
|
15368
|
+
# Uploads the object only if the object key name does not already exist
|
15369
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
15370
|
+
# Precondition Failed` error.
|
15371
|
+
#
|
15372
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
15373
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
15374
|
+
# retry the upload.
|
15375
|
+
#
|
15376
|
+
# Expects the '*' (asterisk) character.
|
15377
|
+
#
|
15378
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
15379
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
15380
|
+
#
|
15381
|
+
#
|
15382
|
+
#
|
15383
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
15384
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
15385
|
+
#
|
15150
15386
|
# @option params [String] :grant_full_control
|
15151
15387
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
15152
15388
|
# object.
|
@@ -15410,62 +15646,75 @@ module Aws::S3
|
|
15410
15646
|
# * {Types::PutObjectOutput#request_charged #request_charged} => String
|
15411
15647
|
#
|
15412
15648
|
#
|
15413
|
-
# @example Example: To upload an object
|
15649
|
+
# @example Example: To upload an object (specify optional headers)
|
15414
15650
|
#
|
15415
|
-
# # The following example uploads an object
|
15416
|
-
# #
|
15651
|
+
# # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
|
15652
|
+
# # storage class and use server-side encryption.
|
15417
15653
|
#
|
15418
15654
|
# resp = client.put_object({
|
15419
15655
|
# body: "HappyFace.jpg",
|
15420
15656
|
# bucket: "examplebucket",
|
15421
15657
|
# key: "HappyFace.jpg",
|
15658
|
+
# server_side_encryption: "AES256",
|
15659
|
+
# storage_class: "STANDARD_IA",
|
15422
15660
|
# })
|
15423
15661
|
#
|
15424
15662
|
# resp.to_h outputs the following:
|
15425
15663
|
# {
|
15426
15664
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15427
|
-
#
|
15665
|
+
# server_side_encryption: "AES256",
|
15666
|
+
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
15428
15667
|
# }
|
15429
15668
|
#
|
15430
|
-
# @example Example: To
|
15669
|
+
# @example Example: To create an object.
|
15431
15670
|
#
|
15432
|
-
# # The following example
|
15433
|
-
#
|
15671
|
+
# # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
|
15672
|
+
#
|
15673
|
+
# resp = client.put_object({
|
15674
|
+
# body: "filetoupload",
|
15675
|
+
# bucket: "examplebucket",
|
15676
|
+
# key: "objectkey",
|
15677
|
+
# })
|
15678
|
+
#
|
15679
|
+
# resp.to_h outputs the following:
|
15680
|
+
# {
|
15681
|
+
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15682
|
+
# version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
|
15683
|
+
# }
|
15684
|
+
#
|
15685
|
+
# @example Example: To upload an object
|
15686
|
+
#
|
15687
|
+
# # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
|
15688
|
+
# # syntax. S3 returns VersionId of the newly created object.
|
15434
15689
|
#
|
15435
15690
|
# resp = client.put_object({
|
15436
15691
|
# body: "HappyFace.jpg",
|
15437
15692
|
# bucket: "examplebucket",
|
15438
15693
|
# key: "HappyFace.jpg",
|
15439
|
-
# server_side_encryption: "AES256",
|
15440
|
-
# storage_class: "STANDARD_IA",
|
15441
15694
|
# })
|
15442
15695
|
#
|
15443
15696
|
# resp.to_h outputs the following:
|
15444
15697
|
# {
|
15445
15698
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15446
|
-
#
|
15447
|
-
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
15699
|
+
# version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
|
15448
15700
|
# }
|
15449
15701
|
#
|
15450
|
-
# @example Example: To upload object and specify
|
15702
|
+
# @example Example: To upload an object and specify optional tags
|
15451
15703
|
#
|
15452
|
-
# # The following example
|
15453
|
-
# #
|
15704
|
+
# # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
|
15705
|
+
# # S3 returns version ID of the newly created object.
|
15454
15706
|
#
|
15455
15707
|
# resp = client.put_object({
|
15456
|
-
# body: "
|
15708
|
+
# body: "c:\\HappyFace.jpg",
|
15457
15709
|
# bucket: "examplebucket",
|
15458
|
-
# key: "
|
15459
|
-
#
|
15460
|
-
# "metadata1" => "value1",
|
15461
|
-
# "metadata2" => "value2",
|
15462
|
-
# },
|
15710
|
+
# key: "HappyFace.jpg",
|
15711
|
+
# tagging: "key1=value1&key2=value2",
|
15463
15712
|
# })
|
15464
15713
|
#
|
15465
15714
|
# resp.to_h outputs the following:
|
15466
15715
|
# {
|
15467
15716
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15468
|
-
# version_id: "
|
15717
|
+
# version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
|
15469
15718
|
# }
|
15470
15719
|
#
|
15471
15720
|
# @example Example: To upload an object and specify canned ACL.
|
@@ -15486,20 +15735,25 @@ module Aws::S3
|
|
15486
15735
|
# version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
|
15487
15736
|
# }
|
15488
15737
|
#
|
15489
|
-
# @example Example: To
|
15738
|
+
# @example Example: To upload object and specify user-defined metadata
|
15490
15739
|
#
|
15491
|
-
# # The following example creates an object.
|
15740
|
+
# # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
|
15741
|
+
# # enabled, S3 returns version ID in response.
|
15492
15742
|
#
|
15493
15743
|
# resp = client.put_object({
|
15494
15744
|
# body: "filetoupload",
|
15495
15745
|
# bucket: "examplebucket",
|
15496
|
-
# key: "
|
15746
|
+
# key: "exampleobject",
|
15747
|
+
# metadata: {
|
15748
|
+
# "metadata1" => "value1",
|
15749
|
+
# "metadata2" => "value2",
|
15750
|
+
# },
|
15497
15751
|
# })
|
15498
15752
|
#
|
15499
15753
|
# resp.to_h outputs the following:
|
15500
15754
|
# {
|
15501
15755
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15502
|
-
# version_id: "
|
15756
|
+
# version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
|
15503
15757
|
# }
|
15504
15758
|
#
|
15505
15759
|
# @example Example: To upload an object and specify server-side encryption and object tags
|
@@ -15522,24 +15776,6 @@ module Aws::S3
|
|
15522
15776
|
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
15523
15777
|
# }
|
15524
15778
|
#
|
15525
|
-
# @example Example: To upload an object and specify optional tags
|
15526
|
-
#
|
15527
|
-
# # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
|
15528
|
-
# # S3 returns version ID of the newly created object.
|
15529
|
-
#
|
15530
|
-
# resp = client.put_object({
|
15531
|
-
# body: "c:\\HappyFace.jpg",
|
15532
|
-
# bucket: "examplebucket",
|
15533
|
-
# key: "HappyFace.jpg",
|
15534
|
-
# tagging: "key1=value1&key2=value2",
|
15535
|
-
# })
|
15536
|
-
#
|
15537
|
-
# resp.to_h outputs the following:
|
15538
|
-
# {
|
15539
|
-
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15540
|
-
# version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
|
15541
|
-
# }
|
15542
|
-
#
|
15543
15779
|
# @example Streaming a file from disk
|
15544
15780
|
# # upload file from disk in a single request, may not exceed 5GB
|
15545
15781
|
# File.open('/source/file/path', 'rb') do |file|
|
@@ -15565,6 +15801,7 @@ module Aws::S3
|
|
15565
15801
|
# checksum_sha1: "ChecksumSHA1",
|
15566
15802
|
# checksum_sha256: "ChecksumSHA256",
|
15567
15803
|
# expires: Time.now,
|
15804
|
+
# if_none_match: "IfNoneMatch",
|
15568
15805
|
# grant_full_control: "GrantFullControl",
|
15569
15806
|
# grant_read: "GrantRead",
|
15570
15807
|
# grant_read_acp: "GrantReadACP",
|
@@ -16664,6 +16901,10 @@ module Aws::S3
|
|
16664
16901
|
#
|
16665
16902
|
# </note>
|
16666
16903
|
#
|
16904
|
+
# The `SELECT` job type for the RestoreObject operation is no longer
|
16905
|
+
# available to new customers. Existing customers of Amazon S3 Select can
|
16906
|
+
# continue to use the feature as usual. [Learn more][1]
|
16907
|
+
#
|
16667
16908
|
# Restores an archived copy of an object back into Amazon S3
|
16668
16909
|
#
|
16669
16910
|
# This functionality is not supported for Amazon S3 on Outposts.
|
@@ -16677,11 +16918,11 @@ module Aws::S3
|
|
16677
16918
|
# For more information about the `S3` structure in the request body, see
|
16678
16919
|
# the following:
|
16679
16920
|
#
|
16680
|
-
# * [PutObject][
|
16921
|
+
# * [PutObject][2]
|
16681
16922
|
#
|
16682
|
-
# * [Managing Access with ACLs][
|
16923
|
+
# * [Managing Access with ACLs][3] in the *Amazon S3 User Guide*
|
16683
16924
|
#
|
16684
|
-
# * [Protecting Data Using Server-Side Encryption][
|
16925
|
+
# * [Protecting Data Using Server-Side Encryption][4] in the *Amazon S3
|
16685
16926
|
# User Guide*
|
16686
16927
|
#
|
16687
16928
|
# Permissions
|
@@ -16690,8 +16931,8 @@ module Aws::S3
|
|
16690
16931
|
# `s3:RestoreObject` action. The bucket owner has this permission by
|
16691
16932
|
# default and can grant this permission to others. For more
|
16692
16933
|
# information about permissions, see [Permissions Related to Bucket
|
16693
|
-
# Subresource Operations][
|
16694
|
-
# Amazon S3 Resources][
|
16934
|
+
# Subresource Operations][5] and [Managing Access Permissions to Your
|
16935
|
+
# Amazon S3 Resources][6] in the *Amazon S3 User Guide*.
|
16695
16936
|
#
|
16696
16937
|
# Restoring objects
|
16697
16938
|
#
|
@@ -16754,11 +16995,11 @@ module Aws::S3
|
|
16754
16995
|
#
|
16755
16996
|
# For more information about archive retrieval options and provisioned
|
16756
16997
|
# capacity for `Expedited` data access, see [Restoring Archived
|
16757
|
-
# Objects][
|
16998
|
+
# Objects][7] in the *Amazon S3 User Guide*.
|
16758
16999
|
#
|
16759
17000
|
# You can use Amazon S3 restore speed upgrade to change the restore
|
16760
17001
|
# speed to a faster speed while it is in progress. For more
|
16761
|
-
# information, see [ Upgrading the speed of an in-progress restore][
|
17002
|
+
# information, see [ Upgrading the speed of an in-progress restore][8]
|
16762
17003
|
# in the *Amazon S3 User Guide*.
|
16763
17004
|
#
|
16764
17005
|
# To get the status of object restoration, you can send a `HEAD`
|
@@ -16766,7 +17007,7 @@ module Aws::S3
|
|
16766
17007
|
# provides information about the restoration status, in the response.
|
16767
17008
|
# You can use Amazon S3 event notifications to notify you when a
|
16768
17009
|
# restore is initiated or completed. For more information, see
|
16769
|
-
# [Configuring Amazon S3 Event Notifications][
|
17010
|
+
# [Configuring Amazon S3 Event Notifications][9] in the *Amazon S3
|
16770
17011
|
# User Guide*.
|
16771
17012
|
#
|
16772
17013
|
# After restoring an archived object, you can update the restoration
|
@@ -16782,8 +17023,8 @@ module Aws::S3
|
|
16782
17023
|
# restore an object copy for 10 days, but the object is scheduled to
|
16783
17024
|
# expire in 3 days, Amazon S3 deletes the object in 3 days. For more
|
16784
17025
|
# information about lifecycle configuration, see
|
16785
|
-
# [PutBucketLifecycleConfiguration][
|
16786
|
-
# Management][
|
17026
|
+
# [PutBucketLifecycleConfiguration][10] and [Object Lifecycle
|
17027
|
+
# Management][11] in *Amazon S3 User Guide*.
|
16787
17028
|
#
|
16788
17029
|
# Responses
|
16789
17030
|
#
|
@@ -16821,23 +17062,24 @@ module Aws::S3
|
|
16821
17062
|
#
|
16822
17063
|
# The following operations are related to `RestoreObject`:
|
16823
17064
|
#
|
16824
|
-
# * [PutBucketLifecycleConfiguration][
|
17065
|
+
# * [PutBucketLifecycleConfiguration][10]
|
16825
17066
|
#
|
16826
|
-
# * [GetBucketNotificationConfiguration][
|
17067
|
+
# * [GetBucketNotificationConfiguration][12]
|
16827
17068
|
#
|
16828
17069
|
#
|
16829
17070
|
#
|
16830
|
-
# [1]:
|
16831
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16832
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
16833
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16834
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-
|
16835
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16836
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
|
16837
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
16838
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16839
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16840
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17071
|
+
# [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
|
17072
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
|
17073
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
|
17074
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
17075
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
17076
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
17077
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
|
17078
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
|
17079
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
|
17080
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
|
17081
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
|
17082
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
|
16841
17083
|
#
|
16842
17084
|
# @option params [required, String] :bucket
|
16843
17085
|
# The bucket name containing the object to restore.
|
@@ -17049,6 +17291,10 @@ module Aws::S3
|
|
17049
17291
|
#
|
17050
17292
|
# </note>
|
17051
17293
|
#
|
17294
|
+
# The SelectObjectContent operation is no longer available to new
|
17295
|
+
# customers. Existing customers of Amazon S3 Select can continue to use
|
17296
|
+
# the operation as usual. [Learn more][1]
|
17297
|
+
#
|
17052
17298
|
# This action filters the contents of an Amazon S3 object based on a
|
17053
17299
|
# simple structured query language (SQL) statement. In the request,
|
17054
17300
|
# along with the SQL expression, you must also specify a data
|
@@ -17060,7 +17306,7 @@ module Aws::S3
|
|
17060
17306
|
# This functionality is not supported for Amazon S3 on Outposts.
|
17061
17307
|
#
|
17062
17308
|
# For more information about Amazon S3 Select, see [Selecting Content
|
17063
|
-
# from Objects][
|
17309
|
+
# from Objects][2] and [SELECT Command][3] in the *Amazon S3 User
|
17064
17310
|
# Guide*.
|
17065
17311
|
#
|
17066
17312
|
#
|
@@ -17070,7 +17316,7 @@ module Aws::S3
|
|
17070
17316
|
# : You must have the `s3:GetObject` permission for this
|
17071
17317
|
# operation. Amazon S3 Select does not support anonymous access. For
|
17072
17318
|
# more information about permissions, see [Specifying Permissions in a
|
17073
|
-
# Policy][
|
17319
|
+
# Policy][4] in the *Amazon S3 User Guide*.
|
17074
17320
|
#
|
17075
17321
|
# Object Data Formats
|
17076
17322
|
#
|
@@ -17095,31 +17341,31 @@ module Aws::S3
|
|
17095
17341
|
#
|
17096
17342
|
# For objects that are encrypted with customer-provided encryption
|
17097
17343
|
# keys (SSE-C), you must use HTTPS, and you must use the headers
|
17098
|
-
# that are documented in the [GetObject][
|
17344
|
+
# that are documented in the [GetObject][5]. For more information
|
17099
17345
|
# about SSE-C, see [Server-Side Encryption (Using Customer-Provided
|
17100
|
-
# Encryption Keys)][
|
17346
|
+
# Encryption Keys)][6] in the *Amazon S3 User Guide*.
|
17101
17347
|
#
|
17102
17348
|
# For objects that are encrypted with Amazon S3 managed keys
|
17103
17349
|
# (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side
|
17104
17350
|
# encryption is handled transparently, so you don't need to specify
|
17105
17351
|
# anything. For more information about server-side encryption,
|
17106
17352
|
# including SSE-S3 and SSE-KMS, see [Protecting Data Using
|
17107
|
-
# Server-Side Encryption][
|
17353
|
+
# Server-Side Encryption][7] in the *Amazon S3 User Guide*.
|
17108
17354
|
#
|
17109
17355
|
# Working with the Response Body
|
17110
17356
|
#
|
17111
17357
|
# : Given the response size is unknown, Amazon S3 Select streams the
|
17112
17358
|
# response as a series of messages and includes a `Transfer-Encoding`
|
17113
17359
|
# header with `chunked` as its value in the response. For more
|
17114
|
-
# information, see [Appendix: SelectObjectContent Response][
|
17360
|
+
# information, see [Appendix: SelectObjectContent Response][8].
|
17115
17361
|
#
|
17116
17362
|
# GetObject Support
|
17117
17363
|
#
|
17118
17364
|
# : The `SelectObjectContent` action does not support the following
|
17119
|
-
# `GetObject` functionality. For more information, see [GetObject][
|
17365
|
+
# `GetObject` functionality. For more information, see [GetObject][5].
|
17120
17366
|
#
|
17121
17367
|
# * `Range`: Although you can specify a scan range for an Amazon S3
|
17122
|
-
# Select request (see [SelectObjectContentRequest - ScanRange][
|
17368
|
+
# Select request (see [SelectObjectContentRequest - ScanRange][9] in
|
17123
17369
|
# the request parameters), you cannot specify the range of bytes of
|
17124
17370
|
# an object to return.
|
17125
17371
|
#
|
@@ -17130,36 +17376,37 @@ module Aws::S3
|
|
17130
17376
|
# storage classes, nor objects in the `ARCHIVE_ACCESS` or
|
17131
17377
|
# `DEEP_ARCHIVE_ACCESS` access tiers of the `INTELLIGENT_TIERING`
|
17132
17378
|
# storage class. For more information about storage classes, see
|
17133
|
-
# [Using Amazon S3 storage classes][
|
17379
|
+
# [Using Amazon S3 storage classes][10] in the *Amazon S3 User
|
17134
17380
|
# Guide*.
|
17135
17381
|
#
|
17136
17382
|
# Special Errors
|
17137
17383
|
#
|
17138
17384
|
# : For a list of special errors for this operation, see [List of SELECT
|
17139
|
-
# Object Content Error Codes][
|
17385
|
+
# Object Content Error Codes][11]
|
17140
17386
|
#
|
17141
17387
|
# The following operations are related to `SelectObjectContent`:
|
17142
17388
|
#
|
17143
|
-
# * [GetObject][
|
17389
|
+
# * [GetObject][5]
|
17144
17390
|
#
|
17145
|
-
# * [GetBucketLifecycleConfiguration][
|
17391
|
+
# * [GetBucketLifecycleConfiguration][12]
|
17146
17392
|
#
|
17147
|
-
# * [PutBucketLifecycleConfiguration][
|
17393
|
+
# * [PutBucketLifecycleConfiguration][13]
|
17148
17394
|
#
|
17149
17395
|
#
|
17150
17396
|
#
|
17151
|
-
# [1]:
|
17152
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17153
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17154
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17155
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17156
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
17157
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17158
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17159
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17160
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17161
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17162
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17397
|
+
# [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
|
17398
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
|
17399
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html
|
17400
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
|
17401
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
17402
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
17403
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
17404
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
|
17405
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
|
17406
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
|
17407
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
|
17408
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
|
17409
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
|
17163
17410
|
#
|
17164
17411
|
# @option params [required, String] :bucket
|
17165
17412
|
# The S3 bucket.
|
@@ -17506,14 +17753,27 @@ module Aws::S3
|
|
17506
17753
|
# </note>
|
17507
17754
|
#
|
17508
17755
|
# Permissions
|
17509
|
-
# : * **General purpose bucket permissions** -
|
17510
|
-
#
|
17511
|
-
#
|
17512
|
-
#
|
17756
|
+
# : * **General purpose bucket permissions** - To perform a multipart
|
17757
|
+
# upload with encryption using an Key Management Service key, the
|
17758
|
+
# requester must have permission to the `kms:Decrypt` and
|
17759
|
+
# `kms:GenerateDataKey` actions on the key. The requester must also
|
17760
|
+
# have permissions for the `kms:GenerateDataKey` action for the
|
17761
|
+
# `CreateMultipartUpload` API. Then, the requester needs permissions
|
17762
|
+
# for the `kms:Decrypt` action on the `UploadPart` and
|
17763
|
+
# `UploadPartCopy` APIs.
|
17764
|
+
#
|
17765
|
+
# These permissions are required because Amazon S3 must decrypt and
|
17766
|
+
# read data from the encrypted file parts before it completes the
|
17767
|
+
# multipart upload. For more information about KMS permissions, see
|
17768
|
+
# [Protecting data using server-side encryption with KMS][6] in the
|
17769
|
+
# *Amazon S3 User Guide*. For information about the permissions
|
17770
|
+
# required to use the multipart upload API, see [Multipart upload
|
17771
|
+
# and permissions][7] and [Multipart upload API and permissions][8]
|
17772
|
+
# in the *Amazon S3 User Guide*.
|
17513
17773
|
#
|
17514
17774
|
# * **Directory bucket permissions** - To grant access to this API
|
17515
17775
|
# operation on a directory bucket, we recommend that you use the [
|
17516
|
-
# `CreateSession` ][
|
17776
|
+
# `CreateSession` ][9] API operation for session-based
|
17517
17777
|
# authorization. Specifically, you grant the
|
17518
17778
|
# `s3express:CreateSession` permission to the directory bucket in a
|
17519
17779
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -17524,7 +17784,7 @@ module Aws::S3
|
|
17524
17784
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
17525
17785
|
# refresh the session token automatically to avoid service
|
17526
17786
|
# interruptions when a session expires. For more information about
|
17527
|
-
# authorization, see [ `CreateSession` ][
|
17787
|
+
# authorization, see [ `CreateSession` ][9].
|
17528
17788
|
#
|
17529
17789
|
# Data integrity
|
17530
17790
|
#
|
@@ -17536,7 +17796,7 @@ module Aws::S3
|
|
17536
17796
|
# then Amazon Web Services S3 uses the `x-amz-content-sha256` header
|
17537
17797
|
# as a checksum instead of `Content-MD5`. For more information see
|
17538
17798
|
# [Authenticating Requests: Using the Authorization Header (Amazon Web
|
17539
|
-
# Services Signature Version 4)][
|
17799
|
+
# Services Signature Version 4)][10].
|
17540
17800
|
#
|
17541
17801
|
# <note markdown="1"> **Directory buckets** - MD5 is not supported by directory buckets.
|
17542
17802
|
# You can use checksum algorithms to check object integrity.
|
@@ -17581,7 +17841,7 @@ module Aws::S3
|
|
17581
17841
|
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is
|
17582
17842
|
# supported.
|
17583
17843
|
#
|
17584
|
-
# For more information, see [Using Server-Side Encryption][
|
17844
|
+
# For more information, see [Using Server-Side Encryption][11] in the
|
17585
17845
|
# *Amazon S3 User Guide*.
|
17586
17846
|
#
|
17587
17847
|
# Special errors
|
@@ -17604,13 +17864,13 @@ module Aws::S3
|
|
17604
17864
|
#
|
17605
17865
|
# * [CreateMultipartUpload][2]
|
17606
17866
|
#
|
17607
|
-
# * [CompleteMultipartUpload][
|
17867
|
+
# * [CompleteMultipartUpload][12]
|
17608
17868
|
#
|
17609
|
-
# * [AbortMultipartUpload][
|
17869
|
+
# * [AbortMultipartUpload][13]
|
17610
17870
|
#
|
17611
|
-
# * [ListParts][
|
17871
|
+
# * [ListParts][14]
|
17612
17872
|
#
|
17613
|
-
# * [ListMultipartUploads][
|
17873
|
+
# * [ListMultipartUploads][15]
|
17614
17874
|
#
|
17615
17875
|
#
|
17616
17876
|
#
|
@@ -17619,14 +17879,16 @@ module Aws::S3
|
|
17619
17879
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html
|
17620
17880
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
17621
17881
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
17622
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17623
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17624
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17625
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17626
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17627
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17628
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17629
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17882
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
17883
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
17884
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
17885
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
17886
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
|
17887
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
17888
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
17889
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
17890
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
17891
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
17630
17892
|
#
|
17631
17893
|
# @option params [String, StringIO, File] :body
|
17632
17894
|
# Object data.
|
@@ -17959,9 +18221,21 @@ module Aws::S3
|
|
17959
18221
|
# have the <b> <code>s3:PutObject</code> </b> permission to write
|
17960
18222
|
# the object copy to the destination bucket.
|
17961
18223
|
#
|
17962
|
-
#
|
17963
|
-
#
|
17964
|
-
#
|
18224
|
+
# * To perform a multipart upload with encryption using an Key
|
18225
|
+
# Management Service key, the requester must have permission to
|
18226
|
+
# the `kms:Decrypt` and `kms:GenerateDataKey` actions on the key.
|
18227
|
+
# The requester must also have permissions for the
|
18228
|
+
# `kms:GenerateDataKey` action for the `CreateMultipartUpload`
|
18229
|
+
# API. Then, the requester needs permissions for the `kms:Decrypt`
|
18230
|
+
# action on the `UploadPart` and `UploadPartCopy` APIs. These
|
18231
|
+
# permissions are required because Amazon S3 must decrypt and read
|
18232
|
+
# data from the encrypted file parts before it completes the
|
18233
|
+
# multipart upload. For more information about KMS permissions,
|
18234
|
+
# see [Protecting data using server-side encryption with KMS][7]
|
18235
|
+
# in the *Amazon S3 User Guide*. For information about the
|
18236
|
+
# permissions required to use the multipart upload API, see
|
18237
|
+
# [Multipart upload and permissions][8] and [Multipart upload API
|
18238
|
+
# and permissions][9] in the *Amazon S3 User Guide*.
|
17965
18239
|
#
|
17966
18240
|
# * **Directory bucket permissions** - You must have permissions in a
|
17967
18241
|
# bucket policy or an IAM identity-based policy based on the source
|
@@ -17970,9 +18244,9 @@ module Aws::S3
|
|
17970
18244
|
# * If the source object that you want to copy is in a directory
|
17971
18245
|
# bucket, you must have the <b>
|
17972
18246
|
# <code>s3express:CreateSession</code> </b> permission in the
|
17973
|
-
# `Action` element of a policy to read the object
|
17974
|
-
#
|
17975
|
-
#
|
18247
|
+
# `Action` element of a policy to read the object. By default, the
|
18248
|
+
# session is in the `ReadWrite` mode. If you want to restrict the
|
18249
|
+
# access, you can explicitly set the `s3express:SessionMode`
|
17976
18250
|
# condition key to `ReadOnly` on the copy source bucket.
|
17977
18251
|
#
|
17978
18252
|
# * If the copy destination is a directory bucket, you must have the
|
@@ -17982,14 +18256,14 @@ module Aws::S3
|
|
17982
18256
|
# set to `ReadOnly` on the copy destination.
|
17983
18257
|
#
|
17984
18258
|
# For example policies, see [Example bucket policies for S3 Express
|
17985
|
-
# One Zone][
|
18259
|
+
# One Zone][10] and [Amazon Web Services Identity and Access
|
17986
18260
|
# Management (IAM) identity-based policies for S3 Express One
|
17987
|
-
# Zone][
|
18261
|
+
# Zone][11] in the *Amazon S3 User Guide*.
|
17988
18262
|
#
|
17989
18263
|
# Encryption
|
17990
18264
|
# : * <b>General purpose buckets </b> - For information about using
|
17991
18265
|
# server-side encryption with customer-provided encryption keys with
|
17992
|
-
# the `UploadPartCopy` operation, see [CopyObject][
|
18266
|
+
# the `UploadPartCopy` operation, see [CopyObject][12] and
|
17993
18267
|
# [UploadPart][2].
|
17994
18268
|
#
|
17995
18269
|
# * <b>Directory buckets </b> - For directory buckets, only
|
@@ -18019,17 +18293,17 @@ module Aws::S3
|
|
18019
18293
|
#
|
18020
18294
|
# The following operations are related to `UploadPartCopy`:
|
18021
18295
|
#
|
18022
|
-
# * [CreateMultipartUpload][
|
18296
|
+
# * [CreateMultipartUpload][13]
|
18023
18297
|
#
|
18024
18298
|
# * [UploadPart][2]
|
18025
18299
|
#
|
18026
|
-
# * [CompleteMultipartUpload][
|
18300
|
+
# * [CompleteMultipartUpload][14]
|
18027
18301
|
#
|
18028
|
-
# * [AbortMultipartUpload][
|
18302
|
+
# * [AbortMultipartUpload][15]
|
18029
18303
|
#
|
18030
|
-
# * [ListParts][
|
18304
|
+
# * [ListParts][16]
|
18031
18305
|
#
|
18032
|
-
# * [ListMultipartUploads][
|
18306
|
+
# * [ListMultipartUploads][17]
|
18033
18307
|
#
|
18034
18308
|
#
|
18035
18309
|
#
|
@@ -18039,15 +18313,17 @@ module Aws::S3
|
|
18039
18313
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
|
18040
18314
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
18041
18315
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
18042
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18043
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18044
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
18045
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18046
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18047
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18048
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18049
|
-
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18050
|
-
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18316
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
18317
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
18318
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
18319
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
18320
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
18321
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
18322
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
|
18323
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
18324
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
18325
|
+
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
18326
|
+
# [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
18051
18327
|
#
|
18052
18328
|
# @option params [required, String] :bucket
|
18053
18329
|
# The bucket name.
|
@@ -18821,14 +19097,19 @@ module Aws::S3
|
|
18821
19097
|
# @api private
|
18822
19098
|
def build_request(operation_name, params = {})
|
18823
19099
|
handlers = @handlers.for(operation_name)
|
19100
|
+
tracer = config.telemetry_provider.tracer_provider.tracer(
|
19101
|
+
Aws::Telemetry.module_to_tracer_name('Aws::S3')
|
19102
|
+
)
|
18824
19103
|
context = Seahorse::Client::RequestContext.new(
|
18825
19104
|
operation_name: operation_name,
|
18826
19105
|
operation: config.api.operation(operation_name),
|
18827
19106
|
client: self,
|
18828
19107
|
params: params,
|
18829
|
-
config: config
|
19108
|
+
config: config,
|
19109
|
+
tracer: tracer
|
19110
|
+
)
|
18830
19111
|
context[:gem_name] = 'aws-sdk-s3'
|
18831
|
-
context[:gem_version] = '1.
|
19112
|
+
context[:gem_version] = '1.160.0'
|
18832
19113
|
Seahorse::Client::Request.new(handlers, context)
|
18833
19114
|
end
|
18834
19115
|
|