2015-11-25 5 views
0

Я загрузил небольшой файл в amazon s3 bucket легко в java. но когда я загружаю большой файл с 50 МБ, он занимает слишком много времени, я даже не получаю исключение, но файл не загружается. мой код простоНаписание файла на amazon s3 в java

s3client.putObject(new PutObjectRequest("dev.rivet.media.web", "all.wav",new File(file path))); 

может любой пожалуйста предложить мне более чем прийти эту проблему

ответ

2

В качестве альтернативы вы можете взглянуть на https://github.com/minio/minio-java

Minio Java библиотека предоставляет доступ к S3 совместимым провайдерам хранения более простого API по ,

В этой библиотеке putObject управляет загрузкой файлов автоматически, выполняя множественные операции внутри и продолжая с того места, где это было остановлено.

Вот пример программы.

import io.minio.MinioClient; 
import io.minio.errors.ClientException; 
import org.xmlpull.v1.XmlPullParserException; 

import java.io.FileInputStream; 
import java.io.File; 
import java.io.IOException; 

public class PutObject { 
    public static void main(String[] args) throws IOException, XmlPullParserException, ClientException { 
    System.out.println("PutObject app"); 

    // Set s3 endpoint, region is calculated automatically 
    MinioClient s3Client = new MinioClient("https://s3.amazonaws.com", "YOUR-ACCESSKEYID", "YOUR-SECRETACCESSKEY"); 

    File f = new File("C:/java/hello"); 
    InputStream f = new FileInputStream(f); 

    // create object 
    s3Client.putObject("bucketName", "objectName", "application/octet-stream", 
         f.length(), f); 
    } 
} 

Надеюсь, что это поможет.

Смежные вопросы