aws-sdk-s3 1.158.0 → 1.160.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +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
|
|