aws-sdk-s3 1.158.0 → 1.159.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +19 -0
- data/lib/aws-sdk-s3/client.rb +306 -208
- data/lib/aws-sdk-s3/client_api.rb +2 -0
- data/lib/aws-sdk-s3/multipart_upload.rb +20 -0
- data/lib/aws-sdk-s3/object.rb +36 -4
- data/lib/aws-sdk-s3/object_summary.rb +28 -0
- data/lib/aws-sdk-s3/object_version.rb +17 -4
- data/lib/aws-sdk-s3/types.rb +106 -6
- data/lib/aws-sdk-s3.rb +1 -1
- data/sig/bucket.rbs +1 -0
- data/sig/client.rbs +2 -0
- data/sig/multipart_upload.rbs +1 -0
- data/sig/object.rbs +1 -0
- data/sig/object_summary.rbs +1 -0
- data/sig/types.rbs +2 -0
- metadata +2 -2
data/lib/aws-sdk-s3/client.rb
CHANGED
@@ -797,6 +797,12 @@ module Aws::S3
|
|
797
797
|
# interruptions when a session expires. For more information about
|
798
798
|
# authorization, see [ `CreateSession` ][7].
|
799
799
|
#
|
800
|
+
# * If you provide an [additional checksum value][8] in your
|
801
|
+
# `MultipartUpload` requests and the object is encrypted with Key
|
802
|
+
# Management Service, you must have permission to use the
|
803
|
+
# `kms:Decrypt` action for the `CompleteMultipartUpload` request to
|
804
|
+
# succeed.
|
805
|
+
#
|
800
806
|
# Special errors
|
801
807
|
# : * Error Code: `EntityTooSmall`
|
802
808
|
#
|
@@ -836,15 +842,15 @@ module Aws::S3
|
|
836
842
|
#
|
837
843
|
# The following operations are related to `CompleteMultipartUpload`:
|
838
844
|
#
|
839
|
-
# * [CreateMultipartUpload][
|
845
|
+
# * [CreateMultipartUpload][9]
|
840
846
|
#
|
841
847
|
# * [UploadPart][1]
|
842
848
|
#
|
843
|
-
# * [AbortMultipartUpload][
|
849
|
+
# * [AbortMultipartUpload][10]
|
844
850
|
#
|
845
|
-
# * [ListParts][
|
851
|
+
# * [ListParts][11]
|
846
852
|
#
|
847
|
-
# * [ListMultipartUploads][
|
853
|
+
# * [ListMultipartUploads][12]
|
848
854
|
#
|
849
855
|
#
|
850
856
|
#
|
@@ -855,10 +861,11 @@ module Aws::S3
|
|
855
861
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
856
862
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
857
863
|
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
858
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
859
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
860
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
861
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
864
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
865
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
|
866
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
867
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
868
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
862
869
|
#
|
863
870
|
# @option params [required, String] :bucket
|
864
871
|
# Name of the bucket to which the multipart upload was initiated.
|
@@ -979,6 +986,26 @@ module Aws::S3
|
|
979
986
|
# you provide does not match the actual owner of the bucket, the request
|
980
987
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
981
988
|
#
|
989
|
+
# @option params [String] :if_none_match
|
990
|
+
# Uploads the object only if the object key name does not already exist
|
991
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
992
|
+
# Precondition Failed` error.
|
993
|
+
#
|
994
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
995
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
996
|
+
# re-initiate the multipart upload with `CreateMultipartUpload` and
|
997
|
+
# re-upload each part.
|
998
|
+
#
|
999
|
+
# Expects the '*' (asterisk) character.
|
1000
|
+
#
|
1001
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
1002
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
1003
|
+
#
|
1004
|
+
#
|
1005
|
+
#
|
1006
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
1007
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
1008
|
+
#
|
982
1009
|
# @option params [String] :sse_customer_algorithm
|
983
1010
|
# The server-side encryption (SSE) algorithm used to encrypt the object.
|
984
1011
|
# This parameter is required only when the object was created using a
|
@@ -1094,6 +1121,7 @@ module Aws::S3
|
|
1094
1121
|
# checksum_sha256: "ChecksumSHA256",
|
1095
1122
|
# request_payer: "requester", # accepts requester
|
1096
1123
|
# expected_bucket_owner: "AccountId",
|
1124
|
+
# if_none_match: "IfNoneMatch",
|
1097
1125
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1098
1126
|
# sse_customer_key: "SSECustomerKey",
|
1099
1127
|
# sse_customer_key_md5: "SSECustomerKeyMD5",
|
@@ -2470,24 +2498,23 @@ module Aws::S3
|
|
2470
2498
|
# Version 4)][5] in the *Amazon S3 User Guide*.
|
2471
2499
|
#
|
2472
2500
|
# Permissions
|
2473
|
-
# : * **General purpose bucket permissions** -
|
2474
|
-
#
|
2475
|
-
#
|
2476
|
-
#
|
2477
|
-
#
|
2478
|
-
#
|
2479
|
-
#
|
2480
|
-
# `
|
2481
|
-
#
|
2482
|
-
#
|
2483
|
-
#
|
2484
|
-
#
|
2485
|
-
#
|
2486
|
-
# Guide*.
|
2501
|
+
# : * **General purpose bucket permissions** - To perform a multipart
|
2502
|
+
# upload with encryption using an Key Management Service (KMS) KMS
|
2503
|
+
# key, the requester must have permission to the `kms:Decrypt` and
|
2504
|
+
# `kms:GenerateDataKey` actions on the key. The requester must also
|
2505
|
+
# have permissions for the `kms:GenerateDataKey` action for the
|
2506
|
+
# `CreateMultipartUpload` API. Then, the requester needs permissions
|
2507
|
+
# for the `kms:Decrypt` action on the `UploadPart` and
|
2508
|
+
# `UploadPartCopy` APIs. These permissions are required because
|
2509
|
+
# Amazon S3 must decrypt and read data from the encrypted file parts
|
2510
|
+
# before it completes the multipart upload. For more information,
|
2511
|
+
# see [Multipart upload API and permissions][6] and [Protecting data
|
2512
|
+
# using server-side encryption with Amazon Web Services KMS][7] in
|
2513
|
+
# the *Amazon S3 User Guide*.
|
2487
2514
|
#
|
2488
2515
|
# * **Directory bucket permissions** - To grant access to this API
|
2489
2516
|
# operation on a directory bucket, we recommend that you use the [
|
2490
|
-
# `CreateSession` ][
|
2517
|
+
# `CreateSession` ][8] API operation for session-based
|
2491
2518
|
# authorization. Specifically, you grant the
|
2492
2519
|
# `s3express:CreateSession` permission to the directory bucket in a
|
2493
2520
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -2498,7 +2525,7 @@ module Aws::S3
|
|
2498
2525
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
2499
2526
|
# refresh the session token automatically to avoid service
|
2500
2527
|
# interruptions when a session expires. For more information about
|
2501
|
-
# authorization, see [ `CreateSession` ][
|
2528
|
+
# authorization, see [ `CreateSession` ][8].
|
2502
2529
|
#
|
2503
2530
|
# Encryption
|
2504
2531
|
# : * **General purpose buckets** - Server-side encryption is for data
|
@@ -2525,7 +2552,7 @@ module Aws::S3
|
|
2525
2552
|
# the destination bucket, the encryption setting in your request
|
2526
2553
|
# takes precedence. If you choose to provide your own encryption
|
2527
2554
|
# key, the request headers you provide in [UploadPart][1] and
|
2528
|
-
# [UploadPartCopy][
|
2555
|
+
# [UploadPartCopy][9] requests must match the headers you used in
|
2529
2556
|
# the `CreateMultipartUpload` request.
|
2530
2557
|
#
|
2531
2558
|
# * Use KMS keys (SSE-KMS) that include the Amazon Web Services
|
@@ -2551,9 +2578,9 @@ module Aws::S3
|
|
2551
2578
|
# actions on the key. These permissions are required because
|
2552
2579
|
# Amazon S3 must decrypt and read data from the encrypted file
|
2553
2580
|
# parts before it completes the multipart upload. For more
|
2554
|
-
# information, see [Multipart upload API and permissions][
|
2581
|
+
# information, see [Multipart upload API and permissions][6] and
|
2555
2582
|
# [Protecting data using server-side encryption with Amazon Web
|
2556
|
-
# Services KMS][
|
2583
|
+
# Services KMS][7] in the *Amazon S3 User Guide*.
|
2557
2584
|
#
|
2558
2585
|
# * If your Identity and Access Management (IAM) user or role is
|
2559
2586
|
# in the same Amazon Web Services account as the KMS key, then
|
@@ -2568,13 +2595,13 @@ module Aws::S3
|
|
2568
2595
|
# For information about configuring any of the officially
|
2569
2596
|
# supported Amazon Web Services SDKs and Amazon Web Services
|
2570
2597
|
# CLI, see [Specifying the Signature Version in Request
|
2571
|
-
# Authentication][
|
2598
|
+
# Authentication][10] in the *Amazon S3 User Guide*.
|
2572
2599
|
#
|
2573
2600
|
# </note>
|
2574
2601
|
#
|
2575
2602
|
# For more information about server-side encryption with KMS keys
|
2576
2603
|
# (SSE-KMS), see [Protecting Data Using Server-Side Encryption
|
2577
|
-
# with KMS keys][
|
2604
|
+
# with KMS keys][7] in the *Amazon S3 User Guide*.
|
2578
2605
|
#
|
2579
2606
|
# * Use customer-provided encryption keys (SSE-C) – If you want to
|
2580
2607
|
# manage your own encryption keys, provide all the following
|
@@ -2589,7 +2616,7 @@ module Aws::S3
|
|
2589
2616
|
# For more information about server-side encryption with
|
2590
2617
|
# customer-provided encryption keys (SSE-C), see [ Protecting data
|
2591
2618
|
# using server-side encryption with customer-provided encryption
|
2592
|
-
# keys (SSE-C)][
|
2619
|
+
# keys (SSE-C)][11] in the *Amazon S3 User Guide*.
|
2593
2620
|
#
|
2594
2621
|
# * **Directory buckets** -For directory buckets, only server-side
|
2595
2622
|
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is
|
@@ -2604,13 +2631,13 @@ module Aws::S3
|
|
2604
2631
|
#
|
2605
2632
|
# * [UploadPart][1]
|
2606
2633
|
#
|
2607
|
-
# * [CompleteMultipartUpload][
|
2634
|
+
# * [CompleteMultipartUpload][12]
|
2608
2635
|
#
|
2609
|
-
# * [AbortMultipartUpload][
|
2636
|
+
# * [AbortMultipartUpload][13]
|
2610
2637
|
#
|
2611
|
-
# * [ListParts][
|
2638
|
+
# * [ListParts][14]
|
2612
2639
|
#
|
2613
|
-
# * [ListMultipartUploads][
|
2640
|
+
# * [ListMultipartUploads][15]
|
2614
2641
|
#
|
2615
2642
|
#
|
2616
2643
|
#
|
@@ -2619,17 +2646,16 @@ module Aws::S3
|
|
2619
2646
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
|
2620
2647
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
2621
2648
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
|
2622
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2623
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
2624
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2625
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2626
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2627
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2628
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2629
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2630
|
-
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2631
|
-
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2632
|
-
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
2649
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
2650
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
2651
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
2652
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2653
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
2654
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
|
2655
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
2656
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
2657
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
2658
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
2633
2659
|
#
|
2634
2660
|
# @option params [String] :acl
|
2635
2661
|
# The canned ACL to apply to the object. Amazon S3 supports a set of
|
@@ -4634,35 +4660,35 @@ module Aws::S3
|
|
4634
4660
|
# * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
|
4635
4661
|
#
|
4636
4662
|
#
|
4637
|
-
# @example Example: To remove tag set from an object
|
4663
|
+
# @example Example: To remove tag set from an object version
|
4638
4664
|
#
|
4639
|
-
# # The following example removes tag set associated with the specified object.
|
4640
|
-
# #
|
4665
|
+
# # The following example removes tag set associated with the specified object version. The request specifies both the
|
4666
|
+
# # object key and object version.
|
4641
4667
|
#
|
4642
4668
|
# resp = client.delete_object_tagging({
|
4643
4669
|
# bucket: "examplebucket",
|
4644
4670
|
# key: "HappyFace.jpg",
|
4671
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4645
4672
|
# })
|
4646
4673
|
#
|
4647
4674
|
# resp.to_h outputs the following:
|
4648
4675
|
# {
|
4649
|
-
# version_id: "
|
4676
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4650
4677
|
# }
|
4651
4678
|
#
|
4652
|
-
# @example Example: To remove tag set from an object
|
4679
|
+
# @example Example: To remove tag set from an object
|
4653
4680
|
#
|
4654
|
-
# # The following example removes tag set associated with the specified object
|
4655
|
-
# #
|
4681
|
+
# # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
|
4682
|
+
# # operation removes tag set from the latest object version.
|
4656
4683
|
#
|
4657
4684
|
# resp = client.delete_object_tagging({
|
4658
4685
|
# bucket: "examplebucket",
|
4659
4686
|
# key: "HappyFace.jpg",
|
4660
|
-
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4661
4687
|
# })
|
4662
4688
|
#
|
4663
4689
|
# resp.to_h outputs the following:
|
4664
4690
|
# {
|
4665
|
-
# version_id: "
|
4691
|
+
# version_id: "null",
|
4666
4692
|
# }
|
4667
4693
|
#
|
4668
4694
|
# @example Request syntax with placeholder values
|
@@ -7679,6 +7705,15 @@ module Aws::S3
|
|
7679
7705
|
# @option params [String] :checksum_mode
|
7680
7706
|
# To retrieve the checksum, this mode must be enabled.
|
7681
7707
|
#
|
7708
|
+
# In addition, if you enable checksum mode and the object is uploaded
|
7709
|
+
# with a [checksum][1] and encrypted with an Key Management Service
|
7710
|
+
# (KMS) key, you must have permission to use the `kms:Decrypt` action to
|
7711
|
+
# retrieve the checksum.
|
7712
|
+
#
|
7713
|
+
#
|
7714
|
+
#
|
7715
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
7716
|
+
#
|
7682
7717
|
# @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
7683
7718
|
#
|
7684
7719
|
# * {Types::GetObjectOutput#body #body} => IO
|
@@ -8762,49 +8797,49 @@ module Aws::S3
|
|
8762
8797
|
# * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array<Types::Tag>
|
8763
8798
|
#
|
8764
8799
|
#
|
8765
|
-
# @example Example: To retrieve tag set of
|
8800
|
+
# @example Example: To retrieve tag set of an object
|
8766
8801
|
#
|
8767
|
-
# # The following example retrieves tag set of an object.
|
8802
|
+
# # The following example retrieves tag set of an object.
|
8768
8803
|
#
|
8769
8804
|
# resp = client.get_object_tagging({
|
8770
8805
|
# bucket: "examplebucket",
|
8771
|
-
# key: "
|
8772
|
-
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8806
|
+
# key: "HappyFace.jpg",
|
8773
8807
|
# })
|
8774
8808
|
#
|
8775
8809
|
# resp.to_h outputs the following:
|
8776
8810
|
# {
|
8777
8811
|
# tag_set: [
|
8778
8812
|
# {
|
8779
|
-
# key: "
|
8780
|
-
# value: "
|
8813
|
+
# key: "Key4",
|
8814
|
+
# value: "Value4",
|
8815
|
+
# },
|
8816
|
+
# {
|
8817
|
+
# key: "Key3",
|
8818
|
+
# value: "Value3",
|
8781
8819
|
# },
|
8782
8820
|
# ],
|
8783
|
-
# version_id: "
|
8821
|
+
# version_id: "null",
|
8784
8822
|
# }
|
8785
8823
|
#
|
8786
|
-
# @example Example: To retrieve tag set of
|
8824
|
+
# @example Example: To retrieve tag set of a specific object version
|
8787
8825
|
#
|
8788
|
-
# # The following example retrieves tag set of an object.
|
8826
|
+
# # The following example retrieves tag set of an object. The request specifies object version.
|
8789
8827
|
#
|
8790
8828
|
# resp = client.get_object_tagging({
|
8791
8829
|
# bucket: "examplebucket",
|
8792
|
-
# key: "
|
8830
|
+
# key: "exampleobject",
|
8831
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8793
8832
|
# })
|
8794
8833
|
#
|
8795
8834
|
# resp.to_h outputs the following:
|
8796
8835
|
# {
|
8797
8836
|
# tag_set: [
|
8798
8837
|
# {
|
8799
|
-
# key: "
|
8800
|
-
# value: "
|
8801
|
-
# },
|
8802
|
-
# {
|
8803
|
-
# key: "Key3",
|
8804
|
-
# value: "Value3",
|
8838
|
+
# key: "Key1",
|
8839
|
+
# value: "Value1",
|
8805
8840
|
# },
|
8806
8841
|
# ],
|
8807
|
-
# version_id: "
|
8842
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8808
8843
|
# }
|
8809
8844
|
#
|
8810
8845
|
# @example Request syntax with placeholder values
|
@@ -9540,10 +9575,14 @@ module Aws::S3
|
|
9540
9575
|
# @option params [String] :checksum_mode
|
9541
9576
|
# To retrieve the checksum, this parameter must be enabled.
|
9542
9577
|
#
|
9543
|
-
# In addition, if you enable
|
9544
|
-
# with
|
9545
|
-
# KMS), you must have permission to use the `kms:Decrypt` action
|
9546
|
-
#
|
9578
|
+
# In addition, if you enable checksum mode and the object is uploaded
|
9579
|
+
# with a [checksum][1] and encrypted with an Key Management Service
|
9580
|
+
# (KMS) key, you must have permission to use the `kms:Decrypt` action to
|
9581
|
+
# retrieve the checksum.
|
9582
|
+
#
|
9583
|
+
#
|
9584
|
+
#
|
9585
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
9547
9586
|
#
|
9548
9587
|
# @return [Types::HeadObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
9549
9588
|
#
|
@@ -15313,6 +15352,25 @@ module Aws::S3
|
|
15313
15352
|
#
|
15314
15353
|
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
15315
15354
|
#
|
15355
|
+
# @option params [String] :if_none_match
|
15356
|
+
# Uploads the object only if the object key name does not already exist
|
15357
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
15358
|
+
# Precondition Failed` error.
|
15359
|
+
#
|
15360
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
15361
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
15362
|
+
# retry the upload.
|
15363
|
+
#
|
15364
|
+
# Expects the '*' (asterisk) character.
|
15365
|
+
#
|
15366
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
15367
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
15368
|
+
#
|
15369
|
+
#
|
15370
|
+
#
|
15371
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
15372
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
15373
|
+
#
|
15316
15374
|
# @option params [String] :grant_full_control
|
15317
15375
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
15318
15376
|
# object.
|
@@ -15576,6 +15634,26 @@ module Aws::S3
|
|
15576
15634
|
# * {Types::PutObjectOutput#request_charged #request_charged} => String
|
15577
15635
|
#
|
15578
15636
|
#
|
15637
|
+
# @example Example: To upload an object (specify optional headers)
|
15638
|
+
#
|
15639
|
+
# # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
|
15640
|
+
# # storage class and use server-side encryption.
|
15641
|
+
#
|
15642
|
+
# resp = client.put_object({
|
15643
|
+
# body: "HappyFace.jpg",
|
15644
|
+
# bucket: "examplebucket",
|
15645
|
+
# key: "HappyFace.jpg",
|
15646
|
+
# server_side_encryption: "AES256",
|
15647
|
+
# storage_class: "STANDARD_IA",
|
15648
|
+
# })
|
15649
|
+
#
|
15650
|
+
# resp.to_h outputs the following:
|
15651
|
+
# {
|
15652
|
+
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15653
|
+
# server_side_encryption: "AES256",
|
15654
|
+
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
15655
|
+
# }
|
15656
|
+
#
|
15579
15657
|
# @example Example: To create an object.
|
15580
15658
|
#
|
15581
15659
|
# # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
|
@@ -15592,62 +15670,57 @@ module Aws::S3
|
|
15592
15670
|
# version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
|
15593
15671
|
# }
|
15594
15672
|
#
|
15595
|
-
# @example Example: To upload an object
|
15673
|
+
# @example Example: To upload an object
|
15596
15674
|
#
|
15597
|
-
# # The following example uploads an object
|
15598
|
-
# #
|
15675
|
+
# # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
|
15676
|
+
# # syntax. S3 returns VersionId of the newly created object.
|
15599
15677
|
#
|
15600
15678
|
# resp = client.put_object({
|
15601
15679
|
# body: "HappyFace.jpg",
|
15602
15680
|
# bucket: "examplebucket",
|
15603
15681
|
# key: "HappyFace.jpg",
|
15604
|
-
# server_side_encryption: "AES256",
|
15605
|
-
# storage_class: "STANDARD_IA",
|
15606
15682
|
# })
|
15607
15683
|
#
|
15608
15684
|
# resp.to_h outputs the following:
|
15609
15685
|
# {
|
15610
15686
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15611
|
-
#
|
15612
|
-
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
15687
|
+
# version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
|
15613
15688
|
# }
|
15614
15689
|
#
|
15615
|
-
# @example Example: To upload an object and specify
|
15690
|
+
# @example Example: To upload an object and specify optional tags
|
15616
15691
|
#
|
15617
|
-
# # The following example uploads
|
15618
|
-
# #
|
15692
|
+
# # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
|
15693
|
+
# # S3 returns version ID of the newly created object.
|
15619
15694
|
#
|
15620
15695
|
# resp = client.put_object({
|
15621
|
-
#
|
15622
|
-
# body: "filetoupload",
|
15696
|
+
# body: "c:\\HappyFace.jpg",
|
15623
15697
|
# bucket: "examplebucket",
|
15624
|
-
# key: "
|
15698
|
+
# key: "HappyFace.jpg",
|
15699
|
+
# tagging: "key1=value1&key2=value2",
|
15625
15700
|
# })
|
15626
15701
|
#
|
15627
15702
|
# resp.to_h outputs the following:
|
15628
15703
|
# {
|
15629
15704
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15630
|
-
# version_id: "
|
15705
|
+
# version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
|
15631
15706
|
# }
|
15632
15707
|
#
|
15633
|
-
# @example Example: To upload an object and specify
|
15708
|
+
# @example Example: To upload an object and specify canned ACL.
|
15634
15709
|
#
|
15635
|
-
# # The following example uploads
|
15636
|
-
# #
|
15710
|
+
# # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
|
15711
|
+
# # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
|
15637
15712
|
#
|
15638
15713
|
# resp = client.put_object({
|
15714
|
+
# acl: "authenticated-read",
|
15639
15715
|
# body: "filetoupload",
|
15640
15716
|
# bucket: "examplebucket",
|
15641
15717
|
# key: "exampleobject",
|
15642
|
-
# server_side_encryption: "AES256",
|
15643
|
-
# tagging: "key1=value1&key2=value2",
|
15644
15718
|
# })
|
15645
15719
|
#
|
15646
15720
|
# resp.to_h outputs the following:
|
15647
15721
|
# {
|
15648
15722
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15649
|
-
#
|
15650
|
-
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
15723
|
+
# version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
|
15651
15724
|
# }
|
15652
15725
|
#
|
15653
15726
|
# @example Example: To upload object and specify user-defined metadata
|
@@ -15671,39 +15744,24 @@ module Aws::S3
|
|
15671
15744
|
# version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
|
15672
15745
|
# }
|
15673
15746
|
#
|
15674
|
-
# @example Example: To upload an object
|
15675
|
-
#
|
15676
|
-
# # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
|
15677
|
-
# # syntax. S3 returns VersionId of the newly created object.
|
15678
|
-
#
|
15679
|
-
# resp = client.put_object({
|
15680
|
-
# body: "HappyFace.jpg",
|
15681
|
-
# bucket: "examplebucket",
|
15682
|
-
# key: "HappyFace.jpg",
|
15683
|
-
# })
|
15684
|
-
#
|
15685
|
-
# resp.to_h outputs the following:
|
15686
|
-
# {
|
15687
|
-
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15688
|
-
# version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
|
15689
|
-
# }
|
15690
|
-
#
|
15691
|
-
# @example Example: To upload an object and specify optional tags
|
15747
|
+
# @example Example: To upload an object and specify server-side encryption and object tags
|
15692
15748
|
#
|
15693
|
-
# # The following example uploads an object. The request specifies optional
|
15694
|
-
# # S3 returns version ID
|
15749
|
+
# # The following example uploads an object. The request specifies the optional server-side encryption option. The request
|
15750
|
+
# # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
|
15695
15751
|
#
|
15696
15752
|
# resp = client.put_object({
|
15697
|
-
# body: "
|
15753
|
+
# body: "filetoupload",
|
15698
15754
|
# bucket: "examplebucket",
|
15699
|
-
# key: "
|
15755
|
+
# key: "exampleobject",
|
15756
|
+
# server_side_encryption: "AES256",
|
15700
15757
|
# tagging: "key1=value1&key2=value2",
|
15701
15758
|
# })
|
15702
15759
|
#
|
15703
15760
|
# resp.to_h outputs the following:
|
15704
15761
|
# {
|
15705
15762
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15706
|
-
#
|
15763
|
+
# server_side_encryption: "AES256",
|
15764
|
+
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
15707
15765
|
# }
|
15708
15766
|
#
|
15709
15767
|
# @example Streaming a file from disk
|
@@ -15731,6 +15789,7 @@ module Aws::S3
|
|
15731
15789
|
# checksum_sha1: "ChecksumSHA1",
|
15732
15790
|
# checksum_sha256: "ChecksumSHA256",
|
15733
15791
|
# expires: Time.now,
|
15792
|
+
# if_none_match: "IfNoneMatch",
|
15734
15793
|
# grant_full_control: "GrantFullControl",
|
15735
15794
|
# grant_read: "GrantRead",
|
15736
15795
|
# grant_read_acp: "GrantReadACP",
|
@@ -16830,6 +16889,10 @@ module Aws::S3
|
|
16830
16889
|
#
|
16831
16890
|
# </note>
|
16832
16891
|
#
|
16892
|
+
# The `SELECT` job type for the RestoreObject operation is no longer
|
16893
|
+
# available to new customers. Existing customers of Amazon S3 Select can
|
16894
|
+
# continue to use the feature as usual. [Learn more][1]
|
16895
|
+
#
|
16833
16896
|
# Restores an archived copy of an object back into Amazon S3
|
16834
16897
|
#
|
16835
16898
|
# This functionality is not supported for Amazon S3 on Outposts.
|
@@ -16843,11 +16906,11 @@ module Aws::S3
|
|
16843
16906
|
# For more information about the `S3` structure in the request body, see
|
16844
16907
|
# the following:
|
16845
16908
|
#
|
16846
|
-
# * [PutObject][
|
16909
|
+
# * [PutObject][2]
|
16847
16910
|
#
|
16848
|
-
# * [Managing Access with ACLs][
|
16911
|
+
# * [Managing Access with ACLs][3] in the *Amazon S3 User Guide*
|
16849
16912
|
#
|
16850
|
-
# * [Protecting Data Using Server-Side Encryption][
|
16913
|
+
# * [Protecting Data Using Server-Side Encryption][4] in the *Amazon S3
|
16851
16914
|
# User Guide*
|
16852
16915
|
#
|
16853
16916
|
# Permissions
|
@@ -16856,8 +16919,8 @@ module Aws::S3
|
|
16856
16919
|
# `s3:RestoreObject` action. The bucket owner has this permission by
|
16857
16920
|
# default and can grant this permission to others. For more
|
16858
16921
|
# information about permissions, see [Permissions Related to Bucket
|
16859
|
-
# Subresource Operations][
|
16860
|
-
# Amazon S3 Resources][
|
16922
|
+
# Subresource Operations][5] and [Managing Access Permissions to Your
|
16923
|
+
# Amazon S3 Resources][6] in the *Amazon S3 User Guide*.
|
16861
16924
|
#
|
16862
16925
|
# Restoring objects
|
16863
16926
|
#
|
@@ -16920,11 +16983,11 @@ module Aws::S3
|
|
16920
16983
|
#
|
16921
16984
|
# For more information about archive retrieval options and provisioned
|
16922
16985
|
# capacity for `Expedited` data access, see [Restoring Archived
|
16923
|
-
# Objects][
|
16986
|
+
# Objects][7] in the *Amazon S3 User Guide*.
|
16924
16987
|
#
|
16925
16988
|
# You can use Amazon S3 restore speed upgrade to change the restore
|
16926
16989
|
# speed to a faster speed while it is in progress. For more
|
16927
|
-
# information, see [ Upgrading the speed of an in-progress restore][
|
16990
|
+
# information, see [ Upgrading the speed of an in-progress restore][8]
|
16928
16991
|
# in the *Amazon S3 User Guide*.
|
16929
16992
|
#
|
16930
16993
|
# To get the status of object restoration, you can send a `HEAD`
|
@@ -16932,7 +16995,7 @@ module Aws::S3
|
|
16932
16995
|
# provides information about the restoration status, in the response.
|
16933
16996
|
# You can use Amazon S3 event notifications to notify you when a
|
16934
16997
|
# restore is initiated or completed. For more information, see
|
16935
|
-
# [Configuring Amazon S3 Event Notifications][
|
16998
|
+
# [Configuring Amazon S3 Event Notifications][9] in the *Amazon S3
|
16936
16999
|
# User Guide*.
|
16937
17000
|
#
|
16938
17001
|
# After restoring an archived object, you can update the restoration
|
@@ -16948,8 +17011,8 @@ module Aws::S3
|
|
16948
17011
|
# restore an object copy for 10 days, but the object is scheduled to
|
16949
17012
|
# expire in 3 days, Amazon S3 deletes the object in 3 days. For more
|
16950
17013
|
# information about lifecycle configuration, see
|
16951
|
-
# [PutBucketLifecycleConfiguration][
|
16952
|
-
# Management][
|
17014
|
+
# [PutBucketLifecycleConfiguration][10] and [Object Lifecycle
|
17015
|
+
# Management][11] in *Amazon S3 User Guide*.
|
16953
17016
|
#
|
16954
17017
|
# Responses
|
16955
17018
|
#
|
@@ -16987,23 +17050,24 @@ module Aws::S3
|
|
16987
17050
|
#
|
16988
17051
|
# The following operations are related to `RestoreObject`:
|
16989
17052
|
#
|
16990
|
-
# * [PutBucketLifecycleConfiguration][
|
17053
|
+
# * [PutBucketLifecycleConfiguration][10]
|
16991
17054
|
#
|
16992
|
-
# * [GetBucketNotificationConfiguration][
|
17055
|
+
# * [GetBucketNotificationConfiguration][12]
|
16993
17056
|
#
|
16994
17057
|
#
|
16995
17058
|
#
|
16996
|
-
# [1]:
|
16997
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16998
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
16999
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17000
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-
|
17001
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17002
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
|
17003
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
17004
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17005
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17006
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17059
|
+
# [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
|
17060
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
|
17061
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
|
17062
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
17063
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
17064
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
17065
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
|
17066
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
|
17067
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
|
17068
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
|
17069
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
|
17070
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
|
17007
17071
|
#
|
17008
17072
|
# @option params [required, String] :bucket
|
17009
17073
|
# The bucket name containing the object to restore.
|
@@ -17215,6 +17279,10 @@ module Aws::S3
|
|
17215
17279
|
#
|
17216
17280
|
# </note>
|
17217
17281
|
#
|
17282
|
+
# The SelectObjectContent operation is no longer available to new
|
17283
|
+
# customers. Existing customers of Amazon S3 Select can continue to use
|
17284
|
+
# the operation as usual. [Learn more][1]
|
17285
|
+
#
|
17218
17286
|
# This action filters the contents of an Amazon S3 object based on a
|
17219
17287
|
# simple structured query language (SQL) statement. In the request,
|
17220
17288
|
# along with the SQL expression, you must also specify a data
|
@@ -17226,7 +17294,7 @@ module Aws::S3
|
|
17226
17294
|
# This functionality is not supported for Amazon S3 on Outposts.
|
17227
17295
|
#
|
17228
17296
|
# For more information about Amazon S3 Select, see [Selecting Content
|
17229
|
-
# from Objects][
|
17297
|
+
# from Objects][2] and [SELECT Command][3] in the *Amazon S3 User
|
17230
17298
|
# Guide*.
|
17231
17299
|
#
|
17232
17300
|
#
|
@@ -17236,7 +17304,7 @@ module Aws::S3
|
|
17236
17304
|
# : You must have the `s3:GetObject` permission for this
|
17237
17305
|
# operation. Amazon S3 Select does not support anonymous access. For
|
17238
17306
|
# more information about permissions, see [Specifying Permissions in a
|
17239
|
-
# Policy][
|
17307
|
+
# Policy][4] in the *Amazon S3 User Guide*.
|
17240
17308
|
#
|
17241
17309
|
# Object Data Formats
|
17242
17310
|
#
|
@@ -17261,31 +17329,31 @@ module Aws::S3
|
|
17261
17329
|
#
|
17262
17330
|
# For objects that are encrypted with customer-provided encryption
|
17263
17331
|
# keys (SSE-C), you must use HTTPS, and you must use the headers
|
17264
|
-
# that are documented in the [GetObject][
|
17332
|
+
# that are documented in the [GetObject][5]. For more information
|
17265
17333
|
# about SSE-C, see [Server-Side Encryption (Using Customer-Provided
|
17266
|
-
# Encryption Keys)][
|
17334
|
+
# Encryption Keys)][6] in the *Amazon S3 User Guide*.
|
17267
17335
|
#
|
17268
17336
|
# For objects that are encrypted with Amazon S3 managed keys
|
17269
17337
|
# (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side
|
17270
17338
|
# encryption is handled transparently, so you don't need to specify
|
17271
17339
|
# anything. For more information about server-side encryption,
|
17272
17340
|
# including SSE-S3 and SSE-KMS, see [Protecting Data Using
|
17273
|
-
# Server-Side Encryption][
|
17341
|
+
# Server-Side Encryption][7] in the *Amazon S3 User Guide*.
|
17274
17342
|
#
|
17275
17343
|
# Working with the Response Body
|
17276
17344
|
#
|
17277
17345
|
# : Given the response size is unknown, Amazon S3 Select streams the
|
17278
17346
|
# response as a series of messages and includes a `Transfer-Encoding`
|
17279
17347
|
# header with `chunked` as its value in the response. For more
|
17280
|
-
# information, see [Appendix: SelectObjectContent Response][
|
17348
|
+
# information, see [Appendix: SelectObjectContent Response][8].
|
17281
17349
|
#
|
17282
17350
|
# GetObject Support
|
17283
17351
|
#
|
17284
17352
|
# : The `SelectObjectContent` action does not support the following
|
17285
|
-
# `GetObject` functionality. For more information, see [GetObject][
|
17353
|
+
# `GetObject` functionality. For more information, see [GetObject][5].
|
17286
17354
|
#
|
17287
17355
|
# * `Range`: Although you can specify a scan range for an Amazon S3
|
17288
|
-
# Select request (see [SelectObjectContentRequest - ScanRange][
|
17356
|
+
# Select request (see [SelectObjectContentRequest - ScanRange][9] in
|
17289
17357
|
# the request parameters), you cannot specify the range of bytes of
|
17290
17358
|
# an object to return.
|
17291
17359
|
#
|
@@ -17296,36 +17364,37 @@ module Aws::S3
|
|
17296
17364
|
# storage classes, nor objects in the `ARCHIVE_ACCESS` or
|
17297
17365
|
# `DEEP_ARCHIVE_ACCESS` access tiers of the `INTELLIGENT_TIERING`
|
17298
17366
|
# storage class. For more information about storage classes, see
|
17299
|
-
# [Using Amazon S3 storage classes][
|
17367
|
+
# [Using Amazon S3 storage classes][10] in the *Amazon S3 User
|
17300
17368
|
# Guide*.
|
17301
17369
|
#
|
17302
17370
|
# Special Errors
|
17303
17371
|
#
|
17304
17372
|
# : For a list of special errors for this operation, see [List of SELECT
|
17305
|
-
# Object Content Error Codes][
|
17373
|
+
# Object Content Error Codes][11]
|
17306
17374
|
#
|
17307
17375
|
# The following operations are related to `SelectObjectContent`:
|
17308
17376
|
#
|
17309
|
-
# * [GetObject][
|
17377
|
+
# * [GetObject][5]
|
17310
17378
|
#
|
17311
|
-
# * [GetBucketLifecycleConfiguration][
|
17379
|
+
# * [GetBucketLifecycleConfiguration][12]
|
17312
17380
|
#
|
17313
|
-
# * [PutBucketLifecycleConfiguration][
|
17381
|
+
# * [PutBucketLifecycleConfiguration][13]
|
17314
17382
|
#
|
17315
17383
|
#
|
17316
17384
|
#
|
17317
|
-
# [1]:
|
17318
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17319
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17320
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17321
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17322
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
17323
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17324
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17325
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17326
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17327
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17328
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17385
|
+
# [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
|
17386
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
|
17387
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html
|
17388
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
|
17389
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
17390
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
17391
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
17392
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
|
17393
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
|
17394
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
|
17395
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
|
17396
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
|
17397
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
|
17329
17398
|
#
|
17330
17399
|
# @option params [required, String] :bucket
|
17331
17400
|
# The S3 bucket.
|
@@ -17672,14 +17741,27 @@ module Aws::S3
|
|
17672
17741
|
# </note>
|
17673
17742
|
#
|
17674
17743
|
# Permissions
|
17675
|
-
# : * **General purpose bucket permissions** -
|
17676
|
-
#
|
17677
|
-
#
|
17678
|
-
#
|
17744
|
+
# : * **General purpose bucket permissions** - To perform a multipart
|
17745
|
+
# upload with encryption using an Key Management Service key, the
|
17746
|
+
# requester must have permission to the `kms:Decrypt` and
|
17747
|
+
# `kms:GenerateDataKey` actions on the key. The requester must also
|
17748
|
+
# have permissions for the `kms:GenerateDataKey` action for the
|
17749
|
+
# `CreateMultipartUpload` API. Then, the requester needs permissions
|
17750
|
+
# for the `kms:Decrypt` action on the `UploadPart` and
|
17751
|
+
# `UploadPartCopy` APIs.
|
17752
|
+
#
|
17753
|
+
# These permissions are required because Amazon S3 must decrypt and
|
17754
|
+
# read data from the encrypted file parts before it completes the
|
17755
|
+
# multipart upload. For more information about KMS permissions, see
|
17756
|
+
# [Protecting data using server-side encryption with KMS][6] in the
|
17757
|
+
# *Amazon S3 User Guide*. For information about the permissions
|
17758
|
+
# required to use the multipart upload API, see [Multipart upload
|
17759
|
+
# and permissions][7] and [Multipart upload API and permissions][8]
|
17760
|
+
# in the *Amazon S3 User Guide*.
|
17679
17761
|
#
|
17680
17762
|
# * **Directory bucket permissions** - To grant access to this API
|
17681
17763
|
# operation on a directory bucket, we recommend that you use the [
|
17682
|
-
# `CreateSession` ][
|
17764
|
+
# `CreateSession` ][9] API operation for session-based
|
17683
17765
|
# authorization. Specifically, you grant the
|
17684
17766
|
# `s3express:CreateSession` permission to the directory bucket in a
|
17685
17767
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -17690,7 +17772,7 @@ module Aws::S3
|
|
17690
17772
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
17691
17773
|
# refresh the session token automatically to avoid service
|
17692
17774
|
# interruptions when a session expires. For more information about
|
17693
|
-
# authorization, see [ `CreateSession` ][
|
17775
|
+
# authorization, see [ `CreateSession` ][9].
|
17694
17776
|
#
|
17695
17777
|
# Data integrity
|
17696
17778
|
#
|
@@ -17702,7 +17784,7 @@ module Aws::S3
|
|
17702
17784
|
# then Amazon Web Services S3 uses the `x-amz-content-sha256` header
|
17703
17785
|
# as a checksum instead of `Content-MD5`. For more information see
|
17704
17786
|
# [Authenticating Requests: Using the Authorization Header (Amazon Web
|
17705
|
-
# Services Signature Version 4)][
|
17787
|
+
# Services Signature Version 4)][10].
|
17706
17788
|
#
|
17707
17789
|
# <note markdown="1"> **Directory buckets** - MD5 is not supported by directory buckets.
|
17708
17790
|
# You can use checksum algorithms to check object integrity.
|
@@ -17747,7 +17829,7 @@ module Aws::S3
|
|
17747
17829
|
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is
|
17748
17830
|
# supported.
|
17749
17831
|
#
|
17750
|
-
# For more information, see [Using Server-Side Encryption][
|
17832
|
+
# For more information, see [Using Server-Side Encryption][11] in the
|
17751
17833
|
# *Amazon S3 User Guide*.
|
17752
17834
|
#
|
17753
17835
|
# Special errors
|
@@ -17770,13 +17852,13 @@ module Aws::S3
|
|
17770
17852
|
#
|
17771
17853
|
# * [CreateMultipartUpload][2]
|
17772
17854
|
#
|
17773
|
-
# * [CompleteMultipartUpload][
|
17855
|
+
# * [CompleteMultipartUpload][12]
|
17774
17856
|
#
|
17775
|
-
# * [AbortMultipartUpload][
|
17857
|
+
# * [AbortMultipartUpload][13]
|
17776
17858
|
#
|
17777
|
-
# * [ListParts][
|
17859
|
+
# * [ListParts][14]
|
17778
17860
|
#
|
17779
|
-
# * [ListMultipartUploads][
|
17861
|
+
# * [ListMultipartUploads][15]
|
17780
17862
|
#
|
17781
17863
|
#
|
17782
17864
|
#
|
@@ -17785,14 +17867,16 @@ module Aws::S3
|
|
17785
17867
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html
|
17786
17868
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
17787
17869
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
17788
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17789
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17790
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17791
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17792
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17793
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17794
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17795
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17870
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
17871
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
17872
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
17873
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
17874
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
|
17875
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
17876
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
17877
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
17878
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
17879
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
17796
17880
|
#
|
17797
17881
|
# @option params [String, StringIO, File] :body
|
17798
17882
|
# Object data.
|
@@ -18125,9 +18209,21 @@ module Aws::S3
|
|
18125
18209
|
# have the <b> <code>s3:PutObject</code> </b> permission to write
|
18126
18210
|
# the object copy to the destination bucket.
|
18127
18211
|
#
|
18128
|
-
#
|
18129
|
-
#
|
18130
|
-
#
|
18212
|
+
# * To perform a multipart upload with encryption using an Key
|
18213
|
+
# Management Service key, the requester must have permission to
|
18214
|
+
# the `kms:Decrypt` and `kms:GenerateDataKey` actions on the key.
|
18215
|
+
# The requester must also have permissions for the
|
18216
|
+
# `kms:GenerateDataKey` action for the `CreateMultipartUpload`
|
18217
|
+
# API. Then, the requester needs permissions for the `kms:Decrypt`
|
18218
|
+
# action on the `UploadPart` and `UploadPartCopy` APIs. These
|
18219
|
+
# permissions are required because Amazon S3 must decrypt and read
|
18220
|
+
# data from the encrypted file parts before it completes the
|
18221
|
+
# multipart upload. For more information about KMS permissions,
|
18222
|
+
# see [Protecting data using server-side encryption with KMS][7]
|
18223
|
+
# in the *Amazon S3 User Guide*. For information about the
|
18224
|
+
# permissions required to use the multipart upload API, see
|
18225
|
+
# [Multipart upload and permissions][8] and [Multipart upload API
|
18226
|
+
# and permissions][9] in the *Amazon S3 User Guide*.
|
18131
18227
|
#
|
18132
18228
|
# * **Directory bucket permissions** - You must have permissions in a
|
18133
18229
|
# bucket policy or an IAM identity-based policy based on the source
|
@@ -18148,14 +18244,14 @@ module Aws::S3
|
|
18148
18244
|
# set to `ReadOnly` on the copy destination.
|
18149
18245
|
#
|
18150
18246
|
# For example policies, see [Example bucket policies for S3 Express
|
18151
|
-
# One Zone][
|
18247
|
+
# One Zone][10] and [Amazon Web Services Identity and Access
|
18152
18248
|
# Management (IAM) identity-based policies for S3 Express One
|
18153
|
-
# Zone][
|
18249
|
+
# Zone][11] in the *Amazon S3 User Guide*.
|
18154
18250
|
#
|
18155
18251
|
# Encryption
|
18156
18252
|
# : * <b>General purpose buckets </b> - For information about using
|
18157
18253
|
# server-side encryption with customer-provided encryption keys with
|
18158
|
-
# the `UploadPartCopy` operation, see [CopyObject][
|
18254
|
+
# the `UploadPartCopy` operation, see [CopyObject][12] and
|
18159
18255
|
# [UploadPart][2].
|
18160
18256
|
#
|
18161
18257
|
# * <b>Directory buckets </b> - For directory buckets, only
|
@@ -18185,17 +18281,17 @@ module Aws::S3
|
|
18185
18281
|
#
|
18186
18282
|
# The following operations are related to `UploadPartCopy`:
|
18187
18283
|
#
|
18188
|
-
# * [CreateMultipartUpload][
|
18284
|
+
# * [CreateMultipartUpload][13]
|
18189
18285
|
#
|
18190
18286
|
# * [UploadPart][2]
|
18191
18287
|
#
|
18192
|
-
# * [CompleteMultipartUpload][
|
18288
|
+
# * [CompleteMultipartUpload][14]
|
18193
18289
|
#
|
18194
|
-
# * [AbortMultipartUpload][
|
18290
|
+
# * [AbortMultipartUpload][15]
|
18195
18291
|
#
|
18196
|
-
# * [ListParts][
|
18292
|
+
# * [ListParts][16]
|
18197
18293
|
#
|
18198
|
-
# * [ListMultipartUploads][
|
18294
|
+
# * [ListMultipartUploads][17]
|
18199
18295
|
#
|
18200
18296
|
#
|
18201
18297
|
#
|
@@ -18205,15 +18301,17 @@ module Aws::S3
|
|
18205
18301
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
|
18206
18302
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
18207
18303
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
18208
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
18209
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18210
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
18211
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18212
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18213
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18214
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18215
|
-
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18216
|
-
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18304
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
18305
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
18306
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
18307
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
18308
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
18309
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
18310
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
|
18311
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
18312
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
18313
|
+
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
18314
|
+
# [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
18217
18315
|
#
|
18218
18316
|
# @option params [required, String] :bucket
|
18219
18317
|
# The bucket name.
|
@@ -18994,7 +19092,7 @@ module Aws::S3
|
|
18994
19092
|
params: params,
|
18995
19093
|
config: config)
|
18996
19094
|
context[:gem_name] = 'aws-sdk-s3'
|
18997
|
-
context[:gem_version] = '1.
|
19095
|
+
context[:gem_version] = '1.159.0'
|
18998
19096
|
Seahorse::Client::Request.new(handlers, context)
|
18999
19097
|
end
|
19000
19098
|
|