Interface SignedUrlHandler

All Known Implementing Classes:
RestS3Service, S3Service

public interface SignedUrlHandler
An interface implemented by JetS3t services or utilities that can perform operations on objects in S3 using only signed URLs - that is, without any knowledge of the user's AWS credentials.

Implementation classes need no knowledge of S3 as such, but merely have to be able to perform standard HTTP requests for PUT, GET, HEAD and DELETE operation using signed URLs.

The RestS3Service implements this interface using the HttpClient library.

Author:
James Murty
  • Method Details

    • putObjectWithSignedUrl

      S3Object putObjectWithSignedUrl(String signedPutUrl, S3Object object) throws ServiceException
      Puts an object using a pre-signed PUT URL generated for that object. This method is an implementation of the interface SignedUrlHandler.

      This operation does not required any S3 functionality as it merely uploads the object by performing a standard HTTP PUT using the signed URL.

      Parameters:
      signedPutUrl - a signed PUT URL generated.
      object - the object to upload, which must correspond to the object for which the URL was signed. The object must have the correct content length set, and to apply a non-standard ACL policy only the REST canned ACLs can be used (eg AccessControlList.REST_CANNED_PUBLIC_READ_WRITE).
      Returns:
      the S3Object put to S3. The S3Object returned will be identical to the object provided, except that the data input stream (if any) will have been consumed.
      Throws:
      ServiceException
    • deleteObjectWithSignedUrl

      void deleteObjectWithSignedUrl(String signedDeleteUrl) throws ServiceException
      Deletes an object using a pre-signed DELETE URL generated for that object. This method is an implementation of the interface SignedUrlHandler.

      This operation does not required any S3 functionality as it merely deletes the object by performing a standard HTTP DELETE using the signed URL.

      Parameters:
      signedDeleteUrl - a signed DELETE URL.
      Throws:
      ServiceException
    • getObjectWithSignedUrl

      S3Object getObjectWithSignedUrl(String signedGetUrl) throws ServiceException
      Gets an object using a pre-signed GET URL generated for that object. This method is an implementation of the interface SignedUrlHandler.

      This operation does not required any S3 functionality as it merely uploads the object by performing a standard HTTP GET using the signed URL.

      Parameters:
      signedGetUrl - a signed GET URL.
      Returns:
      the S3Object in S3 including all metadata and the object's data input stream.
      Throws:
      ServiceException
    • getObjectDetailsWithSignedUrl

      S3Object getObjectDetailsWithSignedUrl(String signedHeadUrl) throws ServiceException
      Gets an object's details using a pre-signed HEAD URL generated for that object. This method is an implementation of the interface SignedUrlHandler.

      This operation does not required any S3 functionality as it merely uploads the object by performing a standard HTTP HEAD using the signed URL.

      Parameters:
      signedHeadUrl - a signed HEAD URL.
      Returns:
      the S3Object in S3 including all metadata, but without the object's data input stream.
      Throws:
      ServiceException
    • getObjectAclWithSignedUrl

      AccessControlList getObjectAclWithSignedUrl(String signedAclUrl) throws ServiceException
      Gets an object's ACL details using a pre-signed GET URL generated for that object. This method is an implementation of the interface SignedUrlHandler.
      Parameters:
      signedAclUrl - a signed URL.
      Returns:
      the AccessControlList settings of the object in S3.
      Throws:
      ServiceException
    • putObjectAclWithSignedUrl

      void putObjectAclWithSignedUrl(String signedAclUrl, AccessControlList acl) throws ServiceException
      Sets an object's ACL details using a pre-signed PUT URL generated for that object. This method is an implementation of the interface SignedUrlHandler.
      Parameters:
      signedAclUrl - a signed URL.
      acl - the ACL settings to apply to the object represented by the signed URL.
      Throws:
      ServiceException