Move an object from your S3 account. This method works by invoking the {@link #copyObject(String,String,String,S3Object,boolean)} method to copy the original object, then deletes the original object once the copy has succeeded.
This method cannot be performed by anonymous services. You must have read access to the source object, write access to the destination bucket, and write access to the source bucket.
If the copy operation succeeds but the delete operation fails, this method will not throw an exception but the result map object will contain an item named "DeleteException" with the exception thrown by the delete operation.
@param sourceBucketName the name of the bucket that contains the original object.
@param sourceObjectKey the key name of the original object.
@param destinationBucketName the name of the destination bucket to which the object will be copied.
@param destinationObject the object that will be created by the move operation. If this item includes an AccessControlList setting the copied object will be assigned that ACL, otherwise the copied object will be assigned the default private ACL setting.
@param replaceMetadata If this parameter is true, the copied object will be assigned the metadata values present in the destinationObject. Otherwise, the copied object will have the same metadata as the original object.
@return a map of the header and result information returned by S3 after the object copy. The map includes the object's MD5 hash value (ETag), its size (Content-Length), and update timestamp (Last-Modified). If the object was successfully copied but the original could not be deleted, the map will also include an item named "DeleteException" with the exception thrown by the delete operation.
@throws S3ServiceException