## Upload files using the accelerated S3 endpoint
We switch to the accelerated S3 endpoint by using the `useAccelerateEndpoint` parameter set to `true` in the `AWSS3StorageUploadFileOptions`.
```java
AWSS3StorageUploadFileOptions awsS3StorageUploadFileOptions =
AWSS3StorageUploadFileOptions.builder().setUseAccelerateEndpoint(true).build();
Amplify.Storage.uploadFile(
"KEY",
file
awsS3StorageUploadFileOptions,
result -> Log.i("MyAmplifyApp", "Successfully uploaded: " + result.getKey()),
storageFailure -> Log.e("MyAmplifyApp", "Upload failed", storageFailure)
);
```
```kotlin
val awsS3StorageUploadFileOptions = AWSS3StorageUploadFileOptions.builder().
setUseAccelerateEndpoint(true).
build()
Amplify.Storage.uploadFile(
"KEY",
file
awsS3StorageUploadFileOptions,
{ Log.i("MyAmplifyApp", "Successfully uploaded: " + it.getKey()) },
{ Log.e("MyAmplifyApp", "Upload failed", it) }
)
```
```kotlin
val awsS3StorageUploadFileOptions = AWSS3StorageUploadFileOptions.builder().
setUseAccelerateEndpoint(true).
build()
val upload = Amplify.Storage.uploadFile("KEY", file, awsS3StorageUploadFileOptions)
try {
val result = upload.result()
Log.i("MyAmplifyApp", "Successfully uploaded: ${result.key}")
} catch (error: StorageException) {
Log.e("MyAmplifyApp", "Upload failed", error)
}
)
```
```java
AWSS3StorageUploadFileOptions awsS3StorageUploadFileOptions =
AWSS3StorageUploadFileOptions.builder().setUseAccelerateEndpoint(true).build();
RxProgressAwareSingleOperation rxUploadOperation =
RxAmplify.Storage.uploadFile("KEY", file, awsS3StorageUploadFileOptions);
rxUploadOperation
.observeResult()
.subscribe(
result -> Log.i("MyAmplifyApp", "Successfully uploaded: " + result.getKey()),
error -> Log.e("MyAmplifyApp", "Upload failed", error)
);
);
```
Note: useAccelerateEndpoint flag is available in AWSS3StorageUploadFileOptions, AWSS3StorageUploadInputStreamOptions, AWSS3StorageDownloadFileOptions and AWSS3StorageGetPresignedUrlOptions