2016-11-04 2 views
0

i verwendetem Code folgenden Datei aus einem Eimer zu anderen Eimern kopierenKopie-Datei von einem Eimer zum anderen Eimer mit Java aws sdk

AmazonS3 s3client = new AmazonS3Client(new ProfileCredentialsProvider()); 
s3client.copyObject(sourceBucketName, sourceKey, 
        destinationBucketName, destinationKey); 

aber ich bekomme alway „com.amazonaws.services.s3.model .AmazonS3Exception: Zugriff verweigert (Dienst: Amazon S3; Statuscode: 403; Fehlercode: AccessDenied; Anforderungs-ID: B6466D562B6988E2) "'als Antwort, was der Grund dafür sein kann

+0

Vielleicht 'Fehler hinzufügen Code: AccessDenied' –

+0

was? Fehlercode: AccessDenied –

+0

Ich habe Lese- und Schreibberechtigung dann wie Zugriff verweigert? –

Antwort

1

Es gibt viele Möglichkeiten zu bekommen Ein solcher Fehler (wie nicht existierender Bucket, Probleme mit Berechtigungen, benutzerdefinierte Richtlinie für Quell- oder Ziel-Buckets usw.) Ich empfehle,einzurichtenauf Ihrem Computer und versuchen Sie es mit anderen s3 commands, um sicherzustellen, dass Sie tatsächlich die richtigen Berechtigungen für den Vorgang haben. Dadurch können Sie schnell iterieren und das Problem schnell beheben. Ich bin nicht dagegen, Java-Code hier zu schreiben, um dasselbe zu tun, aber cli wird definitiv Zeit für Sie sparen.

Schauen Sie auch diese SO link, um zu sehen, ob dies bei der Behebung Ihres Problems hilft.

+0

Ich habe den Bucket und Dateinamen dort aufgeführt besteht auch die Erlaubnis habe ich Lese- und Schreibberechtigung, auch ich kann herunterladen und Dateien hochladen. aber ich kann keinen Kopiervorgang zulassen –

+1

Können Sie versuchen, CLI und teilen, was passiert am: aws s3 cp s3: // sourceBucketName/sourceKey s3: // destinationBucketName/destinationKey? – Saurabh

+0

Beim Aufrufen der CopyObject-Operation ist ein Fehler aufgetreten (AccessDenied): Zugriff verweigert als Ausgabe –