aws-sdk-s3 1.158.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 +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +19 -0
- data/lib/aws-sdk-s3/client.rb +324 -209
- 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 +3 -0
- data/sig/multipart_upload.rbs +1 -0
- data/sig/object.rbs +1 -0
- data/sig/object_summary.rbs +1 -0
- data/sig/resource.rbs +1 -0
- data/sig/types.rbs +2 -0
- metadata +4 -4
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)
|
@@ -432,6 +434,16 @@ module Aws::S3
|
|
432
434
|
# ** Please note ** When response stubbing is enabled, no HTTP
|
433
435
|
# requests are made, and retries are disabled.
|
434
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
|
+
#
|
435
447
|
# @option options [Aws::TokenProvider] :token_provider
|
436
448
|
# A Bearer Token Provider. This can be an instance of any one of the
|
437
449
|
# following classes:
|
@@ -797,6 +809,12 @@ module Aws::S3
|
|
797
809
|
# interruptions when a session expires. For more information about
|
798
810
|
# authorization, see [ `CreateSession` ][7].
|
799
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
|
+
#
|
800
818
|
# Special errors
|
801
819
|
# : * Error Code: `EntityTooSmall`
|
802
820
|
#
|
@@ -836,15 +854,15 @@ module Aws::S3
|
|
836
854
|
#
|
837
855
|
# The following operations are related to `CompleteMultipartUpload`:
|
838
856
|
#
|
839
|
-
# * [CreateMultipartUpload][
|
857
|
+
# * [CreateMultipartUpload][9]
|
840
858
|
#
|
841
859
|
# * [UploadPart][1]
|
842
860
|
#
|
843
|
-
# * [AbortMultipartUpload][
|
861
|
+
# * [AbortMultipartUpload][10]
|
844
862
|
#
|
845
|
-
# * [ListParts][
|
863
|
+
# * [ListParts][11]
|
846
864
|
#
|
847
|
-
# * [ListMultipartUploads][
|
865
|
+
# * [ListMultipartUploads][12]
|
848
866
|
#
|
849
867
|
#
|
850
868
|
#
|
@@ -855,10 +873,11 @@ module Aws::S3
|
|
855
873
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
856
874
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
857
875
|
# [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/
|
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
|
862
881
|
#
|
863
882
|
# @option params [required, String] :bucket
|
864
883
|
# Name of the bucket to which the multipart upload was initiated.
|
@@ -979,6 +998,26 @@ module Aws::S3
|
|
979
998
|
# you provide does not match the actual owner of the bucket, the request
|
980
999
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
981
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
|
+
#
|
982
1021
|
# @option params [String] :sse_customer_algorithm
|
983
1022
|
# The server-side encryption (SSE) algorithm used to encrypt the object.
|
984
1023
|
# This parameter is required only when the object was created using a
|
@@ -1094,6 +1133,7 @@ module Aws::S3
|
|
1094
1133
|
# checksum_sha256: "ChecksumSHA256",
|
1095
1134
|
# request_payer: "requester", # accepts requester
|
1096
1135
|
# expected_bucket_owner: "AccountId",
|
1136
|
+
# if_none_match: "IfNoneMatch",
|
1097
1137
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1098
1138
|
# sse_customer_key: "SSECustomerKey",
|
1099
1139
|
# sse_customer_key_md5: "SSECustomerKeyMD5",
|
@@ -2470,24 +2510,23 @@ module Aws::S3
|
|
2470
2510
|
# Version 4)][5] in the *Amazon S3 User Guide*.
|
2471
2511
|
#
|
2472
2512
|
# Permissions
|
2473
|
-
# : * **General purpose bucket permissions** -
|
2474
|
-
#
|
2475
|
-
#
|
2476
|
-
#
|
2477
|
-
#
|
2478
|
-
#
|
2479
|
-
#
|
2480
|
-
# `
|
2481
|
-
#
|
2482
|
-
#
|
2483
|
-
#
|
2484
|
-
#
|
2485
|
-
#
|
2486
|
-
# 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*.
|
2487
2526
|
#
|
2488
2527
|
# * **Directory bucket permissions** - To grant access to this API
|
2489
2528
|
# operation on a directory bucket, we recommend that you use the [
|
2490
|
-
# `CreateSession` ][
|
2529
|
+
# `CreateSession` ][8] API operation for session-based
|
2491
2530
|
# authorization. Specifically, you grant the
|
2492
2531
|
# `s3express:CreateSession` permission to the directory bucket in a
|
2493
2532
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -2498,7 +2537,7 @@ module Aws::S3
|
|
2498
2537
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
2499
2538
|
# refresh the session token automatically to avoid service
|
2500
2539
|
# interruptions when a session expires. For more information about
|
2501
|
-
# authorization, see [ `CreateSession` ][
|
2540
|
+
# authorization, see [ `CreateSession` ][8].
|
2502
2541
|
#
|
2503
2542
|
# Encryption
|
2504
2543
|
# : * **General purpose buckets** - Server-side encryption is for data
|
@@ -2525,7 +2564,7 @@ module Aws::S3
|
|
2525
2564
|
# the destination bucket, the encryption setting in your request
|
2526
2565
|
# takes precedence. If you choose to provide your own encryption
|
2527
2566
|
# key, the request headers you provide in [UploadPart][1] and
|
2528
|
-
# [UploadPartCopy][
|
2567
|
+
# [UploadPartCopy][9] requests must match the headers you used in
|
2529
2568
|
# the `CreateMultipartUpload` request.
|
2530
2569
|
#
|
2531
2570
|
# * Use KMS keys (SSE-KMS) that include the Amazon Web Services
|
@@ -2551,9 +2590,9 @@ module Aws::S3
|
|
2551
2590
|
# actions on the key. These permissions are required because
|
2552
2591
|
# Amazon S3 must decrypt and read data from the encrypted file
|
2553
2592
|
# parts before it completes the multipart upload. For more
|
2554
|
-
# information, see [Multipart upload API and permissions][
|
2593
|
+
# information, see [Multipart upload API and permissions][6] and
|
2555
2594
|
# [Protecting data using server-side encryption with Amazon Web
|
2556
|
-
# Services KMS][
|
2595
|
+
# Services KMS][7] in the *Amazon S3 User Guide*.
|
2557
2596
|
#
|
2558
2597
|
# * If your Identity and Access Management (IAM) user or role is
|
2559
2598
|
# in the same Amazon Web Services account as the KMS key, then
|
@@ -2568,13 +2607,13 @@ module Aws::S3
|
|
2568
2607
|
# For information about configuring any of the officially
|
2569
2608
|
# supported Amazon Web Services SDKs and Amazon Web Services
|
2570
2609
|
# CLI, see [Specifying the Signature Version in Request
|
2571
|
-
# Authentication][
|
2610
|
+
# Authentication][10] in the *Amazon S3 User Guide*.
|
2572
2611
|
#
|
2573
2612
|
# </note>
|
2574
2613
|
#
|
2575
2614
|
# For more information about server-side encryption with KMS keys
|
2576
2615
|
# (SSE-KMS), see [Protecting Data Using Server-Side Encryption
|
2577
|
-
# with KMS keys][
|
2616
|
+
# with KMS keys][7] in the *Amazon S3 User Guide*.
|
2578
2617
|
#
|
2579
2618
|
# * Use customer-provided encryption keys (SSE-C) – If you want to
|
2580
2619
|
# manage your own encryption keys, provide all the following
|
@@ -2589,7 +2628,7 @@ module Aws::S3
|
|
2589
2628
|
# For more information about server-side encryption with
|
2590
2629
|
# customer-provided encryption keys (SSE-C), see [ Protecting data
|
2591
2630
|
# using server-side encryption with customer-provided encryption
|
2592
|
-
# keys (SSE-C)][
|
2631
|
+
# keys (SSE-C)][11] in the *Amazon S3 User Guide*.
|
2593
2632
|
#
|
2594
2633
|
# * **Directory buckets** -For directory buckets, only server-side
|
2595
2634
|
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is
|
@@ -2604,13 +2643,13 @@ module Aws::S3
|
|
2604
2643
|
#
|
2605
2644
|
# * [UploadPart][1]
|
2606
2645
|
#
|
2607
|
-
# * [CompleteMultipartUpload][
|
2646
|
+
# * [CompleteMultipartUpload][12]
|
2608
2647
|
#
|
2609
|
-
# * [AbortMultipartUpload][
|
2648
|
+
# * [AbortMultipartUpload][13]
|
2610
2649
|
#
|
2611
|
-
# * [ListParts][
|
2650
|
+
# * [ListParts][14]
|
2612
2651
|
#
|
2613
|
-
# * [ListMultipartUploads][
|
2652
|
+
# * [ListMultipartUploads][15]
|
2614
2653
|
#
|
2615
2654
|
#
|
2616
2655
|
#
|
@@ -2619,17 +2658,16 @@ module Aws::S3
|
|
2619
2658
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
|
2620
2659
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
2621
2660
|
# [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
|
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
|
2633
2671
|
#
|
2634
2672
|
# @option params [String] :acl
|
2635
2673
|
# The canned ACL to apply to the object. Amazon S3 supports a set of
|
@@ -4634,35 +4672,35 @@ module Aws::S3
|
|
4634
4672
|
# * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
|
4635
4673
|
#
|
4636
4674
|
#
|
4637
|
-
# @example Example: To remove tag set from an object
|
4675
|
+
# @example Example: To remove tag set from an object version
|
4638
4676
|
#
|
4639
|
-
# # The following example removes tag set associated with the specified object.
|
4640
|
-
# #
|
4677
|
+
# # The following example removes tag set associated with the specified object version. The request specifies both the
|
4678
|
+
# # object key and object version.
|
4641
4679
|
#
|
4642
4680
|
# resp = client.delete_object_tagging({
|
4643
4681
|
# bucket: "examplebucket",
|
4644
4682
|
# key: "HappyFace.jpg",
|
4683
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4645
4684
|
# })
|
4646
4685
|
#
|
4647
4686
|
# resp.to_h outputs the following:
|
4648
4687
|
# {
|
4649
|
-
# version_id: "
|
4688
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4650
4689
|
# }
|
4651
4690
|
#
|
4652
|
-
# @example Example: To remove tag set from an object
|
4691
|
+
# @example Example: To remove tag set from an object
|
4653
4692
|
#
|
4654
|
-
# # The following example removes tag set associated with the specified object
|
4655
|
-
# #
|
4693
|
+
# # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
|
4694
|
+
# # operation removes tag set from the latest object version.
|
4656
4695
|
#
|
4657
4696
|
# resp = client.delete_object_tagging({
|
4658
4697
|
# bucket: "examplebucket",
|
4659
4698
|
# key: "HappyFace.jpg",
|
4660
|
-
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4661
4699
|
# })
|
4662
4700
|
#
|
4663
4701
|
# resp.to_h outputs the following:
|
4664
4702
|
# {
|
4665
|
-
# version_id: "
|
4703
|
+
# version_id: "null",
|
4666
4704
|
# }
|
4667
4705
|
#
|
4668
4706
|
# @example Request syntax with placeholder values
|
@@ -7679,6 +7717,15 @@ module Aws::S3
|
|
7679
7717
|
# @option params [String] :checksum_mode
|
7680
7718
|
# To retrieve the checksum, this mode must be enabled.
|
7681
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
|
+
#
|
7682
7729
|
# @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
7683
7730
|
#
|
7684
7731
|
# * {Types::GetObjectOutput#body #body} => IO
|
@@ -8762,49 +8809,49 @@ module Aws::S3
|
|
8762
8809
|
# * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array<Types::Tag>
|
8763
8810
|
#
|
8764
8811
|
#
|
8765
|
-
# @example Example: To retrieve tag set of
|
8812
|
+
# @example Example: To retrieve tag set of an object
|
8766
8813
|
#
|
8767
|
-
# # The following example retrieves tag set of an object.
|
8814
|
+
# # The following example retrieves tag set of an object.
|
8768
8815
|
#
|
8769
8816
|
# resp = client.get_object_tagging({
|
8770
8817
|
# bucket: "examplebucket",
|
8771
|
-
# key: "
|
8772
|
-
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8818
|
+
# key: "HappyFace.jpg",
|
8773
8819
|
# })
|
8774
8820
|
#
|
8775
8821
|
# resp.to_h outputs the following:
|
8776
8822
|
# {
|
8777
8823
|
# tag_set: [
|
8778
8824
|
# {
|
8779
|
-
# key: "
|
8780
|
-
# value: "
|
8825
|
+
# key: "Key4",
|
8826
|
+
# value: "Value4",
|
8827
|
+
# },
|
8828
|
+
# {
|
8829
|
+
# key: "Key3",
|
8830
|
+
# value: "Value3",
|
8781
8831
|
# },
|
8782
8832
|
# ],
|
8783
|
-
# version_id: "
|
8833
|
+
# version_id: "null",
|
8784
8834
|
# }
|
8785
8835
|
#
|
8786
|
-
# @example Example: To retrieve tag set of
|
8836
|
+
# @example Example: To retrieve tag set of a specific object version
|
8787
8837
|
#
|
8788
|
-
# # The following example retrieves tag set of an object.
|
8838
|
+
# # The following example retrieves tag set of an object. The request specifies object version.
|
8789
8839
|
#
|
8790
8840
|
# resp = client.get_object_tagging({
|
8791
8841
|
# bucket: "examplebucket",
|
8792
|
-
# key: "
|
8842
|
+
# key: "exampleobject",
|
8843
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8793
8844
|
# })
|
8794
8845
|
#
|
8795
8846
|
# resp.to_h outputs the following:
|
8796
8847
|
# {
|
8797
8848
|
# tag_set: [
|
8798
8849
|
# {
|
8799
|
-
# key: "
|
8800
|
-
# value: "
|
8801
|
-
# },
|
8802
|
-
# {
|
8803
|
-
# key: "Key3",
|
8804
|
-
# value: "Value3",
|
8850
|
+
# key: "Key1",
|
8851
|
+
# value: "Value1",
|
8805
8852
|
# },
|
8806
8853
|
# ],
|
8807
|
-
# version_id: "
|
8854
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8808
8855
|
# }
|
8809
8856
|
#
|
8810
8857
|
# @example Request syntax with placeholder values
|
@@ -9540,10 +9587,14 @@ module Aws::S3
|
|
9540
9587
|
# @option params [String] :checksum_mode
|
9541
9588
|
# To retrieve the checksum, this parameter must be enabled.
|
9542
9589
|
#
|
9543
|
-
# In addition, if you enable
|
9544
|
-
# with
|
9545
|
-
# KMS), you must have permission to use the `kms:Decrypt` action
|
9546
|
-
#
|
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
|
9547
9598
|
#
|
9548
9599
|
# @return [Types::HeadObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
9549
9600
|
#
|
@@ -15313,6 +15364,25 @@ module Aws::S3
|
|
15313
15364
|
#
|
15314
15365
|
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
15315
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
|
+
#
|
15316
15386
|
# @option params [String] :grant_full_control
|
15317
15387
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
15318
15388
|
# object.
|
@@ -15576,6 +15646,26 @@ module Aws::S3
|
|
15576
15646
|
# * {Types::PutObjectOutput#request_charged #request_charged} => String
|
15577
15647
|
#
|
15578
15648
|
#
|
15649
|
+
# @example Example: To upload an object (specify optional headers)
|
15650
|
+
#
|
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.
|
15653
|
+
#
|
15654
|
+
# resp = client.put_object({
|
15655
|
+
# body: "HappyFace.jpg",
|
15656
|
+
# bucket: "examplebucket",
|
15657
|
+
# key: "HappyFace.jpg",
|
15658
|
+
# server_side_encryption: "AES256",
|
15659
|
+
# storage_class: "STANDARD_IA",
|
15660
|
+
# })
|
15661
|
+
#
|
15662
|
+
# resp.to_h outputs the following:
|
15663
|
+
# {
|
15664
|
+
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15665
|
+
# server_side_encryption: "AES256",
|
15666
|
+
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
15667
|
+
# }
|
15668
|
+
#
|
15579
15669
|
# @example Example: To create an object.
|
15580
15670
|
#
|
15581
15671
|
# # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
|
@@ -15592,62 +15682,57 @@ module Aws::S3
|
|
15592
15682
|
# version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
|
15593
15683
|
# }
|
15594
15684
|
#
|
15595
|
-
# @example Example: To upload an object
|
15685
|
+
# @example Example: To upload an object
|
15596
15686
|
#
|
15597
|
-
# # The following example uploads an object
|
15598
|
-
# #
|
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.
|
15599
15689
|
#
|
15600
15690
|
# resp = client.put_object({
|
15601
15691
|
# body: "HappyFace.jpg",
|
15602
15692
|
# bucket: "examplebucket",
|
15603
15693
|
# key: "HappyFace.jpg",
|
15604
|
-
# server_side_encryption: "AES256",
|
15605
|
-
# storage_class: "STANDARD_IA",
|
15606
15694
|
# })
|
15607
15695
|
#
|
15608
15696
|
# resp.to_h outputs the following:
|
15609
15697
|
# {
|
15610
15698
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15611
|
-
#
|
15612
|
-
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
15699
|
+
# version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
|
15613
15700
|
# }
|
15614
15701
|
#
|
15615
|
-
# @example Example: To upload an object and specify
|
15702
|
+
# @example Example: To upload an object and specify optional tags
|
15616
15703
|
#
|
15617
|
-
# # The following example uploads
|
15618
|
-
# #
|
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.
|
15619
15706
|
#
|
15620
15707
|
# resp = client.put_object({
|
15621
|
-
#
|
15622
|
-
# body: "filetoupload",
|
15708
|
+
# body: "c:\\HappyFace.jpg",
|
15623
15709
|
# bucket: "examplebucket",
|
15624
|
-
# key: "
|
15710
|
+
# key: "HappyFace.jpg",
|
15711
|
+
# tagging: "key1=value1&key2=value2",
|
15625
15712
|
# })
|
15626
15713
|
#
|
15627
15714
|
# resp.to_h outputs the following:
|
15628
15715
|
# {
|
15629
15716
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15630
|
-
# version_id: "
|
15717
|
+
# version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
|
15631
15718
|
# }
|
15632
15719
|
#
|
15633
|
-
# @example Example: To upload an object and specify
|
15720
|
+
# @example Example: To upload an object and specify canned ACL.
|
15634
15721
|
#
|
15635
|
-
# # The following example uploads
|
15636
|
-
# #
|
15722
|
+
# # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
|
15723
|
+
# # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
|
15637
15724
|
#
|
15638
15725
|
# resp = client.put_object({
|
15726
|
+
# acl: "authenticated-read",
|
15639
15727
|
# body: "filetoupload",
|
15640
15728
|
# bucket: "examplebucket",
|
15641
15729
|
# key: "exampleobject",
|
15642
|
-
# server_side_encryption: "AES256",
|
15643
|
-
# tagging: "key1=value1&key2=value2",
|
15644
15730
|
# })
|
15645
15731
|
#
|
15646
15732
|
# resp.to_h outputs the following:
|
15647
15733
|
# {
|
15648
15734
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15649
|
-
#
|
15650
|
-
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
15735
|
+
# version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
|
15651
15736
|
# }
|
15652
15737
|
#
|
15653
15738
|
# @example Example: To upload object and specify user-defined metadata
|
@@ -15671,39 +15756,24 @@ module Aws::S3
|
|
15671
15756
|
# version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
|
15672
15757
|
# }
|
15673
15758
|
#
|
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
|
15759
|
+
# @example Example: To upload an object and specify server-side encryption and object tags
|
15692
15760
|
#
|
15693
|
-
# # The following example uploads an object. The request specifies optional
|
15694
|
-
# # S3 returns version ID
|
15761
|
+
# # The following example uploads an object. The request specifies the optional server-side encryption option. The request
|
15762
|
+
# # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
|
15695
15763
|
#
|
15696
15764
|
# resp = client.put_object({
|
15697
|
-
# body: "
|
15765
|
+
# body: "filetoupload",
|
15698
15766
|
# bucket: "examplebucket",
|
15699
|
-
# key: "
|
15767
|
+
# key: "exampleobject",
|
15768
|
+
# server_side_encryption: "AES256",
|
15700
15769
|
# tagging: "key1=value1&key2=value2",
|
15701
15770
|
# })
|
15702
15771
|
#
|
15703
15772
|
# resp.to_h outputs the following:
|
15704
15773
|
# {
|
15705
15774
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15706
|
-
#
|
15775
|
+
# server_side_encryption: "AES256",
|
15776
|
+
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
15707
15777
|
# }
|
15708
15778
|
#
|
15709
15779
|
# @example Streaming a file from disk
|
@@ -15731,6 +15801,7 @@ module Aws::S3
|
|
15731
15801
|
# checksum_sha1: "ChecksumSHA1",
|
15732
15802
|
# checksum_sha256: "ChecksumSHA256",
|
15733
15803
|
# expires: Time.now,
|
15804
|
+
# if_none_match: "IfNoneMatch",
|
15734
15805
|
# grant_full_control: "GrantFullControl",
|
15735
15806
|
# grant_read: "GrantRead",
|
15736
15807
|
# grant_read_acp: "GrantReadACP",
|
@@ -16830,6 +16901,10 @@ module Aws::S3
|
|
16830
16901
|
#
|
16831
16902
|
# </note>
|
16832
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
|
+
#
|
16833
16908
|
# Restores an archived copy of an object back into Amazon S3
|
16834
16909
|
#
|
16835
16910
|
# This functionality is not supported for Amazon S3 on Outposts.
|
@@ -16843,11 +16918,11 @@ module Aws::S3
|
|
16843
16918
|
# For more information about the `S3` structure in the request body, see
|
16844
16919
|
# the following:
|
16845
16920
|
#
|
16846
|
-
# * [PutObject][
|
16921
|
+
# * [PutObject][2]
|
16847
16922
|
#
|
16848
|
-
# * [Managing Access with ACLs][
|
16923
|
+
# * [Managing Access with ACLs][3] in the *Amazon S3 User Guide*
|
16849
16924
|
#
|
16850
|
-
# * [Protecting Data Using Server-Side Encryption][
|
16925
|
+
# * [Protecting Data Using Server-Side Encryption][4] in the *Amazon S3
|
16851
16926
|
# User Guide*
|
16852
16927
|
#
|
16853
16928
|
# Permissions
|
@@ -16856,8 +16931,8 @@ module Aws::S3
|
|
16856
16931
|
# `s3:RestoreObject` action. The bucket owner has this permission by
|
16857
16932
|
# default and can grant this permission to others. For more
|
16858
16933
|
# information about permissions, see [Permissions Related to Bucket
|
16859
|
-
# Subresource Operations][
|
16860
|
-
# Amazon S3 Resources][
|
16934
|
+
# Subresource Operations][5] and [Managing Access Permissions to Your
|
16935
|
+
# Amazon S3 Resources][6] in the *Amazon S3 User Guide*.
|
16861
16936
|
#
|
16862
16937
|
# Restoring objects
|
16863
16938
|
#
|
@@ -16920,11 +16995,11 @@ module Aws::S3
|
|
16920
16995
|
#
|
16921
16996
|
# For more information about archive retrieval options and provisioned
|
16922
16997
|
# capacity for `Expedited` data access, see [Restoring Archived
|
16923
|
-
# Objects][
|
16998
|
+
# Objects][7] in the *Amazon S3 User Guide*.
|
16924
16999
|
#
|
16925
17000
|
# You can use Amazon S3 restore speed upgrade to change the restore
|
16926
17001
|
# speed to a faster speed while it is in progress. For more
|
16927
|
-
# information, see [ Upgrading the speed of an in-progress restore][
|
17002
|
+
# information, see [ Upgrading the speed of an in-progress restore][8]
|
16928
17003
|
# in the *Amazon S3 User Guide*.
|
16929
17004
|
#
|
16930
17005
|
# To get the status of object restoration, you can send a `HEAD`
|
@@ -16932,7 +17007,7 @@ module Aws::S3
|
|
16932
17007
|
# provides information about the restoration status, in the response.
|
16933
17008
|
# You can use Amazon S3 event notifications to notify you when a
|
16934
17009
|
# restore is initiated or completed. For more information, see
|
16935
|
-
# [Configuring Amazon S3 Event Notifications][
|
17010
|
+
# [Configuring Amazon S3 Event Notifications][9] in the *Amazon S3
|
16936
17011
|
# User Guide*.
|
16937
17012
|
#
|
16938
17013
|
# After restoring an archived object, you can update the restoration
|
@@ -16948,8 +17023,8 @@ module Aws::S3
|
|
16948
17023
|
# restore an object copy for 10 days, but the object is scheduled to
|
16949
17024
|
# expire in 3 days, Amazon S3 deletes the object in 3 days. For more
|
16950
17025
|
# information about lifecycle configuration, see
|
16951
|
-
# [PutBucketLifecycleConfiguration][
|
16952
|
-
# Management][
|
17026
|
+
# [PutBucketLifecycleConfiguration][10] and [Object Lifecycle
|
17027
|
+
# Management][11] in *Amazon S3 User Guide*.
|
16953
17028
|
#
|
16954
17029
|
# Responses
|
16955
17030
|
#
|
@@ -16987,23 +17062,24 @@ module Aws::S3
|
|
16987
17062
|
#
|
16988
17063
|
# The following operations are related to `RestoreObject`:
|
16989
17064
|
#
|
16990
|
-
# * [PutBucketLifecycleConfiguration][
|
17065
|
+
# * [PutBucketLifecycleConfiguration][10]
|
16991
17066
|
#
|
16992
|
-
# * [GetBucketNotificationConfiguration][
|
17067
|
+
# * [GetBucketNotificationConfiguration][12]
|
16993
17068
|
#
|
16994
17069
|
#
|
16995
17070
|
#
|
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/
|
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
|
17007
17083
|
#
|
17008
17084
|
# @option params [required, String] :bucket
|
17009
17085
|
# The bucket name containing the object to restore.
|
@@ -17215,6 +17291,10 @@ module Aws::S3
|
|
17215
17291
|
#
|
17216
17292
|
# </note>
|
17217
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
|
+
#
|
17218
17298
|
# This action filters the contents of an Amazon S3 object based on a
|
17219
17299
|
# simple structured query language (SQL) statement. In the request,
|
17220
17300
|
# along with the SQL expression, you must also specify a data
|
@@ -17226,7 +17306,7 @@ module Aws::S3
|
|
17226
17306
|
# This functionality is not supported for Amazon S3 on Outposts.
|
17227
17307
|
#
|
17228
17308
|
# For more information about Amazon S3 Select, see [Selecting Content
|
17229
|
-
# from Objects][
|
17309
|
+
# from Objects][2] and [SELECT Command][3] in the *Amazon S3 User
|
17230
17310
|
# Guide*.
|
17231
17311
|
#
|
17232
17312
|
#
|
@@ -17236,7 +17316,7 @@ module Aws::S3
|
|
17236
17316
|
# : You must have the `s3:GetObject` permission for this
|
17237
17317
|
# operation. Amazon S3 Select does not support anonymous access. For
|
17238
17318
|
# more information about permissions, see [Specifying Permissions in a
|
17239
|
-
# Policy][
|
17319
|
+
# Policy][4] in the *Amazon S3 User Guide*.
|
17240
17320
|
#
|
17241
17321
|
# Object Data Formats
|
17242
17322
|
#
|
@@ -17261,31 +17341,31 @@ module Aws::S3
|
|
17261
17341
|
#
|
17262
17342
|
# For objects that are encrypted with customer-provided encryption
|
17263
17343
|
# keys (SSE-C), you must use HTTPS, and you must use the headers
|
17264
|
-
# that are documented in the [GetObject][
|
17344
|
+
# that are documented in the [GetObject][5]. For more information
|
17265
17345
|
# about SSE-C, see [Server-Side Encryption (Using Customer-Provided
|
17266
|
-
# Encryption Keys)][
|
17346
|
+
# Encryption Keys)][6] in the *Amazon S3 User Guide*.
|
17267
17347
|
#
|
17268
17348
|
# For objects that are encrypted with Amazon S3 managed keys
|
17269
17349
|
# (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side
|
17270
17350
|
# encryption is handled transparently, so you don't need to specify
|
17271
17351
|
# anything. For more information about server-side encryption,
|
17272
17352
|
# including SSE-S3 and SSE-KMS, see [Protecting Data Using
|
17273
|
-
# Server-Side Encryption][
|
17353
|
+
# Server-Side Encryption][7] in the *Amazon S3 User Guide*.
|
17274
17354
|
#
|
17275
17355
|
# Working with the Response Body
|
17276
17356
|
#
|
17277
17357
|
# : Given the response size is unknown, Amazon S3 Select streams the
|
17278
17358
|
# response as a series of messages and includes a `Transfer-Encoding`
|
17279
17359
|
# header with `chunked` as its value in the response. For more
|
17280
|
-
# information, see [Appendix: SelectObjectContent Response][
|
17360
|
+
# information, see [Appendix: SelectObjectContent Response][8].
|
17281
17361
|
#
|
17282
17362
|
# GetObject Support
|
17283
17363
|
#
|
17284
17364
|
# : The `SelectObjectContent` action does not support the following
|
17285
|
-
# `GetObject` functionality. For more information, see [GetObject][
|
17365
|
+
# `GetObject` functionality. For more information, see [GetObject][5].
|
17286
17366
|
#
|
17287
17367
|
# * `Range`: Although you can specify a scan range for an Amazon S3
|
17288
|
-
# Select request (see [SelectObjectContentRequest - ScanRange][
|
17368
|
+
# Select request (see [SelectObjectContentRequest - ScanRange][9] in
|
17289
17369
|
# the request parameters), you cannot specify the range of bytes of
|
17290
17370
|
# an object to return.
|
17291
17371
|
#
|
@@ -17296,36 +17376,37 @@ module Aws::S3
|
|
17296
17376
|
# storage classes, nor objects in the `ARCHIVE_ACCESS` or
|
17297
17377
|
# `DEEP_ARCHIVE_ACCESS` access tiers of the `INTELLIGENT_TIERING`
|
17298
17378
|
# storage class. For more information about storage classes, see
|
17299
|
-
# [Using Amazon S3 storage classes][
|
17379
|
+
# [Using Amazon S3 storage classes][10] in the *Amazon S3 User
|
17300
17380
|
# Guide*.
|
17301
17381
|
#
|
17302
17382
|
# Special Errors
|
17303
17383
|
#
|
17304
17384
|
# : For a list of special errors for this operation, see [List of SELECT
|
17305
|
-
# Object Content Error Codes][
|
17385
|
+
# Object Content Error Codes][11]
|
17306
17386
|
#
|
17307
17387
|
# The following operations are related to `SelectObjectContent`:
|
17308
17388
|
#
|
17309
|
-
# * [GetObject][
|
17389
|
+
# * [GetObject][5]
|
17310
17390
|
#
|
17311
|
-
# * [GetBucketLifecycleConfiguration][
|
17391
|
+
# * [GetBucketLifecycleConfiguration][12]
|
17312
17392
|
#
|
17313
|
-
# * [PutBucketLifecycleConfiguration][
|
17393
|
+
# * [PutBucketLifecycleConfiguration][13]
|
17314
17394
|
#
|
17315
17395
|
#
|
17316
17396
|
#
|
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/
|
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
|
17329
17410
|
#
|
17330
17411
|
# @option params [required, String] :bucket
|
17331
17412
|
# The S3 bucket.
|
@@ -17672,14 +17753,27 @@ module Aws::S3
|
|
17672
17753
|
# </note>
|
17673
17754
|
#
|
17674
17755
|
# Permissions
|
17675
|
-
# : * **General purpose bucket permissions** -
|
17676
|
-
#
|
17677
|
-
#
|
17678
|
-
#
|
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*.
|
17679
17773
|
#
|
17680
17774
|
# * **Directory bucket permissions** - To grant access to this API
|
17681
17775
|
# operation on a directory bucket, we recommend that you use the [
|
17682
|
-
# `CreateSession` ][
|
17776
|
+
# `CreateSession` ][9] API operation for session-based
|
17683
17777
|
# authorization. Specifically, you grant the
|
17684
17778
|
# `s3express:CreateSession` permission to the directory bucket in a
|
17685
17779
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -17690,7 +17784,7 @@ module Aws::S3
|
|
17690
17784
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
17691
17785
|
# refresh the session token automatically to avoid service
|
17692
17786
|
# interruptions when a session expires. For more information about
|
17693
|
-
# authorization, see [ `CreateSession` ][
|
17787
|
+
# authorization, see [ `CreateSession` ][9].
|
17694
17788
|
#
|
17695
17789
|
# Data integrity
|
17696
17790
|
#
|
@@ -17702,7 +17796,7 @@ module Aws::S3
|
|
17702
17796
|
# then Amazon Web Services S3 uses the `x-amz-content-sha256` header
|
17703
17797
|
# as a checksum instead of `Content-MD5`. For more information see
|
17704
17798
|
# [Authenticating Requests: Using the Authorization Header (Amazon Web
|
17705
|
-
# Services Signature Version 4)][
|
17799
|
+
# Services Signature Version 4)][10].
|
17706
17800
|
#
|
17707
17801
|
# <note markdown="1"> **Directory buckets** - MD5 is not supported by directory buckets.
|
17708
17802
|
# You can use checksum algorithms to check object integrity.
|
@@ -17747,7 +17841,7 @@ module Aws::S3
|
|
17747
17841
|
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is
|
17748
17842
|
# supported.
|
17749
17843
|
#
|
17750
|
-
# For more information, see [Using Server-Side Encryption][
|
17844
|
+
# For more information, see [Using Server-Side Encryption][11] in the
|
17751
17845
|
# *Amazon S3 User Guide*.
|
17752
17846
|
#
|
17753
17847
|
# Special errors
|
@@ -17770,13 +17864,13 @@ module Aws::S3
|
|
17770
17864
|
#
|
17771
17865
|
# * [CreateMultipartUpload][2]
|
17772
17866
|
#
|
17773
|
-
# * [CompleteMultipartUpload][
|
17867
|
+
# * [CompleteMultipartUpload][12]
|
17774
17868
|
#
|
17775
|
-
# * [AbortMultipartUpload][
|
17869
|
+
# * [AbortMultipartUpload][13]
|
17776
17870
|
#
|
17777
|
-
# * [ListParts][
|
17871
|
+
# * [ListParts][14]
|
17778
17872
|
#
|
17779
|
-
# * [ListMultipartUploads][
|
17873
|
+
# * [ListMultipartUploads][15]
|
17780
17874
|
#
|
17781
17875
|
#
|
17782
17876
|
#
|
@@ -17785,14 +17879,16 @@ module Aws::S3
|
|
17785
17879
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html
|
17786
17880
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
17787
17881
|
# [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/
|
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
|
17796
17892
|
#
|
17797
17893
|
# @option params [String, StringIO, File] :body
|
17798
17894
|
# Object data.
|
@@ -18125,9 +18221,21 @@ module Aws::S3
|
|
18125
18221
|
# have the <b> <code>s3:PutObject</code> </b> permission to write
|
18126
18222
|
# the object copy to the destination bucket.
|
18127
18223
|
#
|
18128
|
-
#
|
18129
|
-
#
|
18130
|
-
#
|
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*.
|
18131
18239
|
#
|
18132
18240
|
# * **Directory bucket permissions** - You must have permissions in a
|
18133
18241
|
# bucket policy or an IAM identity-based policy based on the source
|
@@ -18148,14 +18256,14 @@ module Aws::S3
|
|
18148
18256
|
# set to `ReadOnly` on the copy destination.
|
18149
18257
|
#
|
18150
18258
|
# For example policies, see [Example bucket policies for S3 Express
|
18151
|
-
# One Zone][
|
18259
|
+
# One Zone][10] and [Amazon Web Services Identity and Access
|
18152
18260
|
# Management (IAM) identity-based policies for S3 Express One
|
18153
|
-
# Zone][
|
18261
|
+
# Zone][11] in the *Amazon S3 User Guide*.
|
18154
18262
|
#
|
18155
18263
|
# Encryption
|
18156
18264
|
# : * <b>General purpose buckets </b> - For information about using
|
18157
18265
|
# server-side encryption with customer-provided encryption keys with
|
18158
|
-
# the `UploadPartCopy` operation, see [CopyObject][
|
18266
|
+
# the `UploadPartCopy` operation, see [CopyObject][12] and
|
18159
18267
|
# [UploadPart][2].
|
18160
18268
|
#
|
18161
18269
|
# * <b>Directory buckets </b> - For directory buckets, only
|
@@ -18185,17 +18293,17 @@ module Aws::S3
|
|
18185
18293
|
#
|
18186
18294
|
# The following operations are related to `UploadPartCopy`:
|
18187
18295
|
#
|
18188
|
-
# * [CreateMultipartUpload][
|
18296
|
+
# * [CreateMultipartUpload][13]
|
18189
18297
|
#
|
18190
18298
|
# * [UploadPart][2]
|
18191
18299
|
#
|
18192
|
-
# * [CompleteMultipartUpload][
|
18300
|
+
# * [CompleteMultipartUpload][14]
|
18193
18301
|
#
|
18194
|
-
# * [AbortMultipartUpload][
|
18302
|
+
# * [AbortMultipartUpload][15]
|
18195
18303
|
#
|
18196
|
-
# * [ListParts][
|
18304
|
+
# * [ListParts][16]
|
18197
18305
|
#
|
18198
|
-
# * [ListMultipartUploads][
|
18306
|
+
# * [ListMultipartUploads][17]
|
18199
18307
|
#
|
18200
18308
|
#
|
18201
18309
|
#
|
@@ -18205,15 +18313,17 @@ module Aws::S3
|
|
18205
18313
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
|
18206
18314
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
18207
18315
|
# [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/
|
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
|
18217
18327
|
#
|
18218
18328
|
# @option params [required, String] :bucket
|
18219
18329
|
# The bucket name.
|
@@ -18987,14 +19097,19 @@ module Aws::S3
|
|
18987
19097
|
# @api private
|
18988
19098
|
def build_request(operation_name, params = {})
|
18989
19099
|
handlers = @handlers.for(operation_name)
|
19100
|
+
tracer = config.telemetry_provider.tracer_provider.tracer(
|
19101
|
+
Aws::Telemetry.module_to_tracer_name('Aws::S3')
|
19102
|
+
)
|
18990
19103
|
context = Seahorse::Client::RequestContext.new(
|
18991
19104
|
operation_name: operation_name,
|
18992
19105
|
operation: config.api.operation(operation_name),
|
18993
19106
|
client: self,
|
18994
19107
|
params: params,
|
18995
|
-
config: config
|
19108
|
+
config: config,
|
19109
|
+
tracer: tracer
|
19110
|
+
)
|
18996
19111
|
context[:gem_name] = 'aws-sdk-s3'
|
18997
|
-
context[:gem_version] = '1.
|
19112
|
+
context[:gem_version] = '1.160.0'
|
18998
19113
|
Seahorse::Client::Request.new(handlers, context)
|
18999
19114
|
end
|
19000
19115
|
|