amazonka-s3-streaming-2.0.0.0: Provides conduits to upload data to S3 using the Multipart API
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.S3.StreamingUpload

Synopsis

Documentation

streamUpload Source #

Given a CreateMultipartUpload, creates a Sink which will sequentially upload the data streamed in in chunks of at least minimumChunkSize and return either the CompleteMultipartUploadResponse, or if an exception is thrown, AbortMultipartUploadResponse and the exception as SomeException. If aborting the upload also fails then the exception caused by the call to abort will be thrown.

ListMultipartUploads can be used to list any pending uploads - it is important to abort multipart uploads because you will be charged for storage of the parts until it is completed or aborted. See the AWS documentation for more details.

Internally, a single chunkSized buffer will be allocated and reused between requests to avoid holding onto incoming ByteStrings.

May throw Error

minimumChunkSize :: ChunkSize Source #

Minimum size of data which will be sent in a single part, currently 6MB

concurrentUpload Source #

Arguments

:: forall m. (MonadResource m, MonadCatch m) 
=> Env 
-> Maybe ChunkSize

Optional chunk size

-> Maybe NumThreads

Optional number of threads to upload with

-> UploadLocation

Whether to upload a file on disk or a ByteString that's already in memory.

-> CreateMultipartUpload

Description of where to upload.

-> m CompleteMultipartUploadResponse 

Allows a file or ByteString to be uploaded concurrently, using the async library. The chunk size may optionally be specified, but will be at least minimumChunkSize, and may be made larger than if the ByteString or file is larger enough to cause more than 10,000 chunks.

Files are mmapped into chunkSize chunks and each chunk is uploaded in parallel. This considerably reduces the memory necessary compared to reading the contents into memory as a strict ByteString. The usual caveats about mmaped files apply: if the file is modified during this operation, the data may become corrupt.

May throw Error, or IOError; an attempt is made to cancel the multipart upload on any error, but this may also fail if, for example, the network connection has been broken. See abortAllUploads for a crude cleanup method.

data UploadLocation Source #

Specifies whether to upload a file or ByteString.

Constructors

FP FilePath

A file to be uploaded

BS ByteString

A strict ByteString

abortAllUploads :: MonadResource m => Env -> BucketName -> m () Source #

Aborts all uploads in a given bucket - useful for cleaning up.

data CreateMultipartUploadResponse #

See: newCreateMultipartUploadResponse smart constructor.

Constructors

CreateMultipartUploadResponse' 

Fields

  • abortDate :: Maybe RFC822

    If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, the response includes this header. The header indicates when the initiated multipart upload becomes eligible for an abort operation. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

    The response also includes the x-amz-abort-rule-id header that provides the ID of the lifecycle configuration rule that defines this action.

  • abortRuleId :: Maybe Text

    This header is returned along with the x-amz-abort-date header. It identifies the applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.

  • bucket :: Maybe BucketName

    The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

  • bucketKeyEnabled :: Maybe Bool

    Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

  • checksumAlgorithm :: Maybe ChecksumAlgorithm

    The algorithm that was used to create a checksum of the object.

  • key :: Maybe ObjectKey

    Object key for which the multipart upload was initiated.

  • requestCharged :: Maybe RequestCharged
     
  • sSECustomerAlgorithm :: Maybe Text

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

  • sSECustomerKeyMD5 :: Maybe Text

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round-trip message integrity verification of the customer-provided encryption key.

  • sSEKMSEncryptionContext :: Maybe (Sensitive Text)

    If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

  • sSEKMSKeyId :: Maybe (Sensitive Text)

    If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed key that was used for the object.

  • serverSideEncryption :: Maybe ServerSideEncryption

    The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

  • httpStatus :: Int

    The response's http status code.

  • uploadId :: Text

    ID for the initiated multipart upload.

Instances

Instances details
Generic CreateMultipartUploadResponse 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

Associated Types

type Rep CreateMultipartUploadResponse :: Type -> Type #

Show CreateMultipartUploadResponse 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

NFData CreateMultipartUploadResponse 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

Eq CreateMultipartUploadResponse 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

type Rep CreateMultipartUploadResponse 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

type Rep CreateMultipartUploadResponse = D1 ('MetaData "CreateMultipartUploadResponse" "Amazonka.S3.CreateMultipartUpload" "mznk-s3-2.0-f0e4ee5f" 'False) (C1 ('MetaCons "CreateMultipartUploadResponse'" 'PrefixI 'True) (((S1 ('MetaSel ('Just "abortDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RFC822)) :*: (S1 ('MetaSel ('Just "abortRuleId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "bucket") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe BucketName)))) :*: ((S1 ('MetaSel ('Just "bucketKeyEnabled") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "checksumAlgorithm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ChecksumAlgorithm))) :*: (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ObjectKey)) :*: S1 ('MetaSel ('Just "requestCharged") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RequestCharged))))) :*: ((S1 ('MetaSel ('Just "sSECustomerAlgorithm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "sSECustomerKeyMD5") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "sSEKMSEncryptionContext") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Sensitive Text))))) :*: ((S1 ('MetaSel ('Just "sSEKMSKeyId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Sensitive Text))) :*: S1 ('MetaSel ('Just "serverSideEncryption") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ServerSideEncryption))) :*: (S1 ('MetaSel ('Just "httpStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel ('Just "uploadId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedUnpack) (Rec0 Text))))))

data CreateMultipartUpload #

See: newCreateMultipartUpload smart constructor.

Constructors

CreateMultipartUpload' 

Fields

  • acl :: Maybe ObjectCannedACL

    The canned ACL to apply to the object.

    This action is not supported by Amazon S3 on Outposts.

  • bucketKeyEnabled :: Maybe Bool

    Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using AWS KMS (SSE-KMS). Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.

    Specifying this header with an object action doesn’t affect bucket-level settings for S3 Bucket Key.

  • cacheControl :: Maybe Text

    Specifies caching behavior along the request/reply chain.

  • checksumAlgorithm :: Maybe ChecksumAlgorithm

    Indicates the algorithm you want Amazon S3 to use to create the checksum for the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

  • contentDisposition :: Maybe Text

    Specifies presentational information for the object.

  • contentEncoding :: Maybe Text

    Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

  • contentLanguage :: Maybe Text

    The language the content is in.

  • contentType :: Maybe Text

    A standard MIME type describing the format of the object data.

  • expectedBucketOwner :: Maybe Text

    The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code 403 Forbidden (access denied).

  • expires :: Maybe RFC822

    The date and time at which the object is no longer cacheable.

  • grantFullControl :: Maybe Text

    Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

    This action is not supported by Amazon S3 on Outposts.

  • grantRead :: Maybe Text

    Allows grantee to read the object data and its metadata.

    This action is not supported by Amazon S3 on Outposts.

  • grantReadACP :: Maybe Text

    Allows grantee to read the object ACL.

    This action is not supported by Amazon S3 on Outposts.

  • grantWriteACP :: Maybe Text

    Allows grantee to write the ACL for the applicable object.

    This action is not supported by Amazon S3 on Outposts.

  • metadata :: HashMap Text Text

    A map of metadata to store with the object in S3.

  • objectLockLegalHoldStatus :: Maybe ObjectLockLegalHoldStatus

    Specifies whether you want to apply a legal hold to the uploaded object.

  • objectLockMode :: Maybe ObjectLockMode

    Specifies the Object Lock mode that you want to apply to the uploaded object.

  • objectLockRetainUntilDate :: Maybe ISO8601

    Specifies the date and time when you want the Object Lock to expire.

  • requestPayer :: Maybe RequestPayer
     
  • sSECustomerAlgorithm :: Maybe Text

    Specifies the algorithm to use to when encrypting the object (for example, AES256).

  • sSECustomerKey :: Maybe (Sensitive Text)

    Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm header.

  • sSECustomerKeyMD5 :: Maybe Text

    Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

  • sSEKMSEncryptionContext :: Maybe (Sensitive Text)

    Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

  • sSEKMSKeyId :: Maybe (Sensitive Text)

    Specifies the ID of the symmetric customer managed key to use for object encryption. All GET and PUT requests for an object protected by Amazon Web Services KMS will fail if not made via SSL or using SigV4. For information about configuring using any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

  • serverSideEncryption :: Maybe ServerSideEncryption

    The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

  • storageClass :: Maybe StorageClass

    By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide.

  • tagging :: Maybe Text

    The tag-set for the object. The tag-set must be encoded as URL Query parameters.

  • websiteRedirectLocation :: Maybe Text

    If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

  • bucket :: BucketName

    The name of the bucket to which to initiate the upload

    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

  • key :: ObjectKey

    Object key for which the multipart upload is to be initiated.

Instances

Instances details
Generic CreateMultipartUpload 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

Associated Types

type Rep CreateMultipartUpload :: Type -> Type #

Show CreateMultipartUpload 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

NFData CreateMultipartUpload 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

Methods

rnf :: CreateMultipartUpload -> () #

Eq CreateMultipartUpload 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

Hashable CreateMultipartUpload 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

ToHeaders CreateMultipartUpload 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

ToPath CreateMultipartUpload 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

ToQuery CreateMultipartUpload 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

AWSRequest CreateMultipartUpload 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

Associated Types

type AWSResponse CreateMultipartUpload #

type Rep CreateMultipartUpload 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

type Rep CreateMultipartUpload = D1 ('MetaData "CreateMultipartUpload" "Amazonka.S3.CreateMultipartUpload" "mznk-s3-2.0-f0e4ee5f" 'False) (C1 ('MetaCons "CreateMultipartUpload'" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "acl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ObjectCannedACL)) :*: (S1 ('MetaSel ('Just "bucketKeyEnabled") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "cacheControl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "checksumAlgorithm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ChecksumAlgorithm)) :*: S1 ('MetaSel ('Just "contentDisposition") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "contentEncoding") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "contentLanguage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))) :*: (((S1 ('MetaSel ('Just "contentType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "expectedBucketOwner") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "expires") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RFC822)) :*: S1 ('MetaSel ('Just "grantFullControl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "grantRead") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "grantReadACP") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "grantWriteACP") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "metadata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (HashMap Text Text)))))) :*: (((S1 ('MetaSel ('Just "objectLockLegalHoldStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ObjectLockLegalHoldStatus)) :*: (S1 ('MetaSel ('Just "objectLockMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ObjectLockMode)) :*: S1 ('MetaSel ('Just "objectLockRetainUntilDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ISO8601)))) :*: ((S1 ('MetaSel ('Just "requestPayer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RequestPayer)) :*: S1 ('MetaSel ('Just "sSECustomerAlgorithm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "sSECustomerKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Sensitive Text))) :*: S1 ('MetaSel ('Just "sSECustomerKeyMD5") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))) :*: (((S1 ('MetaSel ('Just "sSEKMSEncryptionContext") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Sensitive Text))) :*: S1 ('MetaSel ('Just "sSEKMSKeyId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Sensitive Text)))) :*: (S1 ('MetaSel ('Just "serverSideEncryption") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ServerSideEncryption)) :*: S1 ('MetaSel ('Just "storageClass") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe StorageClass)))) :*: ((S1 ('MetaSel ('Just "tagging") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "websiteRedirectLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "bucket") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedUnpack) (Rec0 BucketName) :*: S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedUnpack) (Rec0 ObjectKey)))))))
type AWSResponse CreateMultipartUpload 
Instance details

Defined in Amazonka.S3.CreateMultipartUpload

data CompleteMultipartUploadResponse #

See: newCompleteMultipartUploadResponse smart constructor.

Instances

Instances details
Generic CompleteMultipartUploadResponse 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

Associated Types

type Rep CompleteMultipartUploadResponse :: Type -> Type #

Show CompleteMultipartUploadResponse 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

NFData CompleteMultipartUploadResponse 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

Eq CompleteMultipartUploadResponse 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

type Rep CompleteMultipartUploadResponse 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

type Rep CompleteMultipartUploadResponse = D1 ('MetaData "CompleteMultipartUploadResponse" "Amazonka.S3.CompleteMultipartUpload" "mznk-s3-2.0-f0e4ee5f" 'False) (C1 ('MetaCons "CompleteMultipartUploadResponse'" 'PrefixI 'True) (((S1 ('MetaSel ('Just "bucket") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe BucketName)) :*: (S1 ('MetaSel ('Just "bucketKeyEnabled") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "checksumCRC32") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "checksumCRC32C") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "checksumSHA1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "checksumSHA256") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "eTag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ETag))))) :*: (((S1 ('MetaSel ('Just "expiration") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ObjectKey))) :*: (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "requestCharged") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RequestCharged)))) :*: ((S1 ('MetaSel ('Just "sSEKMSKeyId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Sensitive Text))) :*: S1 ('MetaSel ('Just "serverSideEncryption") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ServerSideEncryption))) :*: (S1 ('MetaSel ('Just "versionId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ObjectVersionId)) :*: S1 ('MetaSel ('Just "httpStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedUnpack) (Rec0 Int))))))

data CompleteMultipartUpload #

See: newCompleteMultipartUpload smart constructor.

Constructors

CompleteMultipartUpload' 

Fields

  • checksumCRC32 :: Maybe Text

    This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC32 checksum of the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

  • checksumCRC32C :: Maybe Text

    This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC32C checksum of the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

  • checksumSHA1 :: Maybe Text

    This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 160-bit SHA-1 digest of the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

  • checksumSHA256 :: Maybe Text

    This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 256-bit SHA-256 digest of the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

  • expectedBucketOwner :: Maybe Text

    The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code 403 Forbidden (access denied).

  • multipartUpload :: Maybe CompletedMultipartUpload

    The container for the multipart upload request information.

  • requestPayer :: Maybe RequestPayer
     
  • sSECustomerAlgorithm :: Maybe Text

    The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.

  • sSECustomerKey :: Maybe (Sensitive Text)

    The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.

  • sSECustomerKeyMD5 :: Maybe Text

    The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.

  • bucket :: BucketName

    Name of the bucket to which the multipart upload was initiated.

    When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

    When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

  • key :: ObjectKey

    Object key for which the multipart upload was initiated.

  • uploadId :: Text

    ID for the initiated multipart upload.

Instances

Instances details
Generic CompleteMultipartUpload 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

Associated Types

type Rep CompleteMultipartUpload :: Type -> Type #

Show CompleteMultipartUpload 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

NFData CompleteMultipartUpload 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

Methods

rnf :: CompleteMultipartUpload -> () #

Eq CompleteMultipartUpload 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

Hashable CompleteMultipartUpload 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

ToHeaders CompleteMultipartUpload 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

ToPath CompleteMultipartUpload 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

ToQuery CompleteMultipartUpload 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

ToElement CompleteMultipartUpload 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

AWSRequest CompleteMultipartUpload 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

type Rep CompleteMultipartUpload 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

type Rep CompleteMultipartUpload = D1 ('MetaData "CompleteMultipartUpload" "Amazonka.S3.CompleteMultipartUpload" "mznk-s3-2.0-f0e4ee5f" 'False) (C1 ('MetaCons "CompleteMultipartUpload'" 'PrefixI 'True) (((S1 ('MetaSel ('Just "checksumCRC32") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "checksumCRC32C") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "checksumSHA1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: (S1 ('MetaSel ('Just "checksumSHA256") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "expectedBucketOwner") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "multipartUpload") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CompletedMultipartUpload))))) :*: ((S1 ('MetaSel ('Just "requestPayer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RequestPayer)) :*: (S1 ('MetaSel ('Just "sSECustomerAlgorithm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "sSECustomerKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Sensitive Text))))) :*: ((S1 ('MetaSel ('Just "sSECustomerKeyMD5") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "bucket") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedUnpack) (Rec0 BucketName)) :*: (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedUnpack) (Rec0 ObjectKey) :*: S1 ('MetaSel ('Just "uploadId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedUnpack) (Rec0 Text))))))
type AWSResponse CompleteMultipartUpload 
Instance details

Defined in Amazonka.S3.CompleteMultipartUpload

newCompleteMultipartUpload #

Create a value of CompleteMultipartUpload with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

CompleteMultipartUpload, completeMultipartUpload_checksumCRC32 - This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC32 checksum of the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

CompleteMultipartUpload, completeMultipartUpload_checksumCRC32C - This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC32C checksum of the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

CompleteMultipartUpload, completeMultipartUpload_checksumSHA1 - This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 160-bit SHA-1 digest of the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

CompleteMultipartUpload, completeMultipartUpload_checksumSHA256 - This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 256-bit SHA-256 digest of the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

$sel:expectedBucketOwner:CompleteMultipartUpload', completeMultipartUpload_expectedBucketOwner - The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code 403 Forbidden (access denied).

$sel:multipartUpload:CompleteMultipartUpload', completeMultipartUpload_multipartUpload - The container for the multipart upload request information.

$sel:requestPayer:CompleteMultipartUpload', completeMultipartUpload_requestPayer - Undocumented member.

$sel:sSECustomerAlgorithm:CompleteMultipartUpload', completeMultipartUpload_sSECustomerAlgorithm - The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.

$sel:sSECustomerKey:CompleteMultipartUpload', completeMultipartUpload_sSECustomerKey - The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.

$sel:sSECustomerKeyMD5:CompleteMultipartUpload', completeMultipartUpload_sSECustomerKeyMD5 - The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.

CompleteMultipartUpload, completeMultipartUpload_bucket - Name of the bucket to which the multipart upload was initiated.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

CompleteMultipartUpload, completeMultipartUpload_key - Object key for which the multipart upload was initiated.

CompleteMultipartUpload, completeMultipartUpload_uploadId - ID for the initiated multipart upload.