Aws-sdk-ios: "Amazon S3 Transfer Acceleration" - Timeplan?

Created on 20 Apr 2016  路  12Comments  路  Source: aws-amplify/aws-sdk-ios

The "Amazon S3 Transfer Acceleration" was announced yesterday and it's really an important feature that I could make use of in my production iOS app:
https://aws.amazon.com/blogs/aws/aws-storage-update-amazon-s3-transfer-acceleration-larger-snowballs-in-more-regions/

There are already examples of how to use this in other languages, but the iOS SDK doesn't seem to support it yet:
http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration-examples.html#transfer-acceleration-examples-sdks

Has it been planned when this feature should be added to the iOS SDK?

feature request

Most helpful comment

We are evaluating the feature for the iOS SDK. We do not have an ETA that we can share, but we'll update the thread when it becomes available. Thanks.

All 12 comments

We are evaluating the feature for the iOS SDK. We do not have an ETA that we can share, but we'll update the thread when it becomes available. Thanks.

I have received the following test result from some users located in China using the Speed Comparison tool for the Amazon S3 Transfer Acceleration. Currently I'm using Ireland as the source of my S3 bucket and it shows that the acceleration tools could help my users increase their upload rate by 80%.

If there is anything I can do to help speed up the implementation of this feature, then please let me know!

s3_china_speedtest

I strongly support the request for this feature!

@yosuke-matsuda, looks like setting the endpoint manually via AmazonS3Client.endpoint = @"https://s3-accelerate.amazonaws.com"; would do the trick. Just tried this and it seems the upload is much faster. Could you please confirm this in fact works and can be used as a workaround until official support in iOS SDK is fully implemented?

AmazonS3Client is from the version 1 of the SDK, and it does not officially support newer iOSs. If you manually overwrite the endpoint for S3 and use AWSS3TransferUtility or AWSS3PreSignedURLBuilder, it may work.

However, this feature was not prioritized in the mobile SDKs because it may not be helpful as much in the low bandwidth environment. We are currently collecting data around this for deciding how we can incorporate it in our SDKs.

Thanks,

Another +1 please for implementing the S3 Accelerator into the iOS SDK.

Our app uploads potentially quite large files (>1Gb) to an S3 bucket based in US East, and we get horribly slow upload speeds using the iOS SDK. On a WiFi connection with an uncontended 50Mbps upstream link we're getting around 0.5Mbps upload performance to S3 using the SDK.

Although there are obviously other issues at play, the S3 Accelerator speed check tool suggests we'd get around a 180% speed increase - which would be a most welcome boost.

We added support for S3 transfer acceleration for TransferUtility with 2.4.3

Thank you - that's fantastic news!

@karthiksaligrama Karthik, anything needs to be changed in the iOS code to support S3 transfer acceleration, or just enabling it in the bucket will do?

Answering my own question.. Added the key AccelerateModeEnabled with value 1, to the Info.plist file under S3TransferUtility key.

@VigneshPT When you upload a file, do you change the destination from bucket_name to bucket_name.s3-accelerate.amazonaws.com?

@mariedm I believe the AWS SDK builds the accelerated URL when the AccelerateModeEnabled value is set to 1, so, manually changing the destination would not be required.

Was this page helpful?
0 / 5 - 0 ratings