Class UploadObjectRequest

All Implemented Interfaces:
ReadLimitInfo, MaterialsDescriptionProvider, S3DataSource, SSEAwsKeyManagementParamsProvider, SSECustomerKeyProvider, Serializable, Cloneable

public class UploadObjectRequest extends AbstractPutObjectRequest implements MaterialsDescriptionProvider, Serializable
Used to request the client-side encryption and upload of a large S3 object via pipelined parallel multi-part uploads.
See Also:
  • Constructor Details

  • Method Details

    • getPartSize

      public long getPartSize()
      Returns the part-size used for muti-part upload for this request. This part size will be used as a reference for the multi-part uploads but the physical part size may vary.
    • withPartSize

      public UploadObjectRequest withPartSize(long partSize)
      Configured the part size for multi-part upload. Must be at least MIN_PART_SIZE. This part size will be used as a reference for the multi-part uploads but the physical part size may vary.
      Returns:
      this object for method chaining purposes
    • getDiskLimit

      public long getDiskLimit()
      Returns the maximum size (in bytes) of additional disk space that will be consumed for this request; or Long.MAX_VALUE if there is no limit.
    • withDiskLimit

      public UploadObjectRequest withDiskLimit(long diskLimit)
      Configured the maximum disk space (in bytes) that will be consumed for this request. The maximum disk space must be at least twice the size of partSize.
      Returns:
      this object for method chaining purposes
    • getExecutorService

      public ExecutorService getExecutorService()
      Returns a custom executor service for concurrent uploads; or null there is no customization.
    • withExecutorService

      public UploadObjectRequest withExecutorService(ExecutorService executorService)
      Configure a custom executor service for concurrent uploads.
      Returns:
      this object for method chaining purposes
    • getMultiFileOutputStream

      public com.amazonaws.services.s3.internal.MultiFileOutputStream getMultiFileOutputStream()
      Returns a custom multi-file output stream; or null if the default is to be used.
    • withMultiFileOutputStream

      public UploadObjectRequest withMultiFileOutputStream(com.amazonaws.services.s3.internal.MultiFileOutputStream multiFileOutputStream)
      Configure a custom multi-file output stream; or null if the default is to be used.
      Returns:
      this object for method chaining purposes
    • getUploadObjectObserver

      public UploadObjectObserver getUploadObjectObserver()
      Returns a custom upload-object observer; or null there is no customization.
    • withUploadObjectObserver

      public UploadObjectRequest withUploadObjectObserver(UploadObjectObserver uploadObjectObserver)
      Configure a custom upload-object observer; or null if the default is to be used.
      Returns:
      this object for method chaining purposes
    • getMaterialsDescription

      public Map<String,String> getMaterialsDescription()
      Description copied from interface: MaterialsDescriptionProvider
      Returns an unmodifiable view of the MaterialsDescription which the caller can use to load EncryptionMaterials from any EncryptionMaterialsAccessor
      Specified by:
      getMaterialsDescription in interface MaterialsDescriptionProvider
      Returns:
      materials description.
    • setMaterialsDescription

      public void setMaterialsDescription(Map<String,String> materialsDescription)
      Sets the materials description for the encryption materials to be used with the current request.
      Parameters:
      materialsDescription - the materialsDescription to set
    • withMaterialsDescription

      public UploadObjectRequest withMaterialsDescription(Map<String,String> materialsDescription)
    • getUploadPartMetadata

      public ObjectMetadata getUploadPartMetadata()
      Gets the optional metadata to be included in each UploadPart request.
    • setUploadPartMetadata

      public void setUploadPartMetadata(ObjectMetadata partUploadMetadata)
      Sets the optional metadata to be included in each UploadPart request.
    • withUploadPartMetadata

      public <T extends UploadObjectRequest> T withUploadPartMetadata(ObjectMetadata partUploadMetadata)
    • clone

      public UploadObjectRequest clone()
      Returns a clone (as deep as possible) of this request object.
      Specified by:
      clone in class AbstractPutObjectRequest
      See Also: