2017-02-20 10 views
0

Используя следующий код в моей Android деятельности:Amazon s3 странная ошибка при загрузке изображения. Пожалуйста, предложите

CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
       getApplicationContext(),  
       "eu-central-1:XXXXXXXXXXXXXXXXXXXXX",  
       Regions.EU_CENTRAL_1   
     ); 

     AmazonS3 s3 = new AmazonS3Client(credentialsProvider); 
     TransferUtility transferUtility = new TransferUtility(s3, getApplicationContext()); 

     File file= new File("/storage/extSdCard/Sweee/app/src/main/res/mipmap-xxhdpi/ic_launcher.png"); 
     TransferObserver observer = transferUtility.upload(
       "aaa.bbb",  
       "test"+file.getName(),  
       file  
     ); 

получил ошибку: Ошибка при загрузке: 1

com.amazonaws.services.s3.model.AmazonS3Exception: The bucket you are attempting to access must be addressed using the specified endpoint

+2

Вы уверены, что ваше ведро было создано в регионе 'eu-central-1'? –

+0

Вот почему я упомянул код идентификатора идентификатора в коде. Посмотрите. –

+0

poolid is eu-central-1: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX указывает регион вправо? –

ответ

1

это действительно работал для меня спасибо @Khalid за ваше предложение это было необходимо (этот код также сделал общедоступным изображение):

BasicAWSCredentials basicAWSCredentials=new BasicAWSCredentials("XXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXX"); 
      AmazonS3 aS3 = new AmazonS3Client(basicAWSCredentials); 
      aS3.setEndpoint("https://s3-eu-central-1.amazonaws.com/"); 

      File file= new File("/storage/extSdCard/Sweee/app/src/main/res/mipmap-xxhdpi/ic_launcher.png"); 

      PutObjectRequest putObj=new PutObjectRequest("aaa.bbbb", "test_navin1/"+file.getName(),file); 

      //making the object Public 
      putObj.setCannedAcl(CannedAccessControlList.PublicRead); 

      aS3.putObject(putObj);