aws-sdk-s3 1.150.0 → 1.160.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +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
|
|