2017-11-07 2 views
0

Ich versuche, eine Datei in einen Bucket hochzuladen, bekomme aber entweder NoSuchBucket oder PermanentRedirect "Der Bucket, auf den Sie zugreifen möchten, muss über den angegebenen Endpunkt angesprochen werden". Ich bin mir ziemlich sicher, dass ich alles richtig eingerichtet habe, ich gebe nur den Bucketnamen nicht richtig an; Alle Beispiele, die ich gesehen habe, geben keinen tatsächlichen Bucket-Namen an. Wenn also mein Bucket example.bucket heißt und in der Region EU West 1 ist, wie lautet der Bucket-Name?Name des Bucket-Formats in AWS Android SDK

File file = getFile(); 
CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
    getApplicationContext(), 
    "policy_id", 
    region 
); 
AmazonS3 s3 = new AmazonS3Client(credentialsProvider); 
TransferUtility transferUtility = new TransferUtility(s3, getApplicationContext()); 
TransferObserver observer = transferUtility.upload(
    "example.bucket", // This is what I can't get right 
    "test_key", 
    file 
); 
+0

Sie haben richtigen Endpunkt zu liefern. Es basiert auf dem Namen der Region. überprüfen Sie dies: http://docs.aws.amazon.com/general/latest/gr/rande.html –

+0

Fügen Sie bitte Ihren Code und Ihre Bucket-Informationen hinzu. –

+0

@ShwetaChauhan Ich habe mehrere Varianten der dort bereitgestellten Punkte ausprobiert, ohne Erfolg. – davkutalek

Antwort

0
File file = getFile(); 
CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
getApplicationContext(), 
"policy_id", 
region 
); 
AmazonS3 s3 = new AmazonS3Client(credentialsProvider); 
TransferUtility transferUtility = new TransferUtility(s3, getApplicationContext()); 

// add this line 
s3.setEndpoint("s3.eu-west-1.amazonaws.com"); //it changes based on region name 

TransferObserver observer = transferUtility.upload(
"example.bucket", // This is what I can't get right 
"test_key", 
file 
);