After downloading the Java SDK, I found that the download method - getBytes() from the ObjectFile class is not "streaming" bytes back to the caller in chunks. What I observe when calling this to fetch a file of 100MB is that it won't come back until the full 100MB is fetched. While this works in downloading the object, it may not be the desired behaviour. With Amazon S3, it allows caller to fetch from a stream and as such, it is up to the user to decide how many bytes to get in each fetch from the server and how often they want to fetch.
Looking at the upLoadFile() interface, I suspect the same for sending data from local to SoftLayer Object Storage - i.e. it won't accept an inputStream but require a file name.
Can you confirm whether the Softlayer java binding for object storage supports the S3 behaviour ? It is critical for my application to have these features, namely :
1) when downloading data - we want to proceed as soon as we have some data, waiting for the entire object to be fully downloaded before processing will be too slow.
2) when uploading data - the current behaviour requires the data to be stored in a local file before uploading - the instance deployed for my app won't have sufficient temporary space for this.
After downloading the Java SDK, I found that the download method - getBytes() from the ObjectFile class is not "streaming" bytes back to the caller in chunks. What I observe when calling this to fetch a file of 100MB is that it won't come back until the full 100MB is fetched. While this works in downloading the object, it may not be the desired behaviour. With Amazon S3, it allows caller to fetch from a stream and as such, it is up to the user to decide how many bytes to get in each fetch from the server and how often they want to fetch.
Looking at the upLoadFile() interface, I suspect the same for sending data from local to SoftLayer Object Storage - i.e. it won't accept an inputStream but require a file name.
Can you confirm whether the Softlayer java binding for object storage supports the S3 behaviour ? It is critical for my application to have these features, namely :
1) when downloading data - we want to proceed as soon as we have some data, waiting for the entire object to be fully downloaded before processing will be too slow. 2) when uploading data - the current behaviour requires the data to be stored in a local file before uploading - the instance deployed for my app won't have sufficient temporary space for this.