2016-11-04 1 views
0

i utilisé le code ci-dessous pour copier le fichier d'un seau à autre seaufichier de copie d'un seau à autre seau à l'aide java aws sdk

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

mais je alway obtenir « com.amazonaws.services.s3.model .AmazonS3Exception: Accès refusé (Service: Amazon S3; Code d'état: 403; Code d'erreur: AccessDenied; ID de la demande: B6466D562B6988E2) "` en tant que respone quelle peut être la raison pour cela

+0

Peut-être 'erreur Code: AccessDenied' –

+0

quoi? Code d'erreur: AccessDenied –

+0

J'ai l'autorisation de lecture et d'écriture puis comment accès refusé? –

Répondre

1

Il peut y avoir beaucoup de possibilités pour obtenir une telle erreur (comme un compartiment inexistant, des problèmes d'autorisations, une politique personnalisée appliquée sur des compartiments source ou cible, etc.) Je recommanderai de configurer AWS S3 CLI sur votre ordinateur et essayez différents s3 commands pour vous assurer que vous avez réellement le bon ensemble d'autorisations pour faire l'opération. Cela vous permettra d'itérer rapidement et de déboguer le problème rapidement. Je ne suis pas contre l'écriture de code Java ici pour faire la même chose mais cli va certainement gagner du temps pour vous.

Regardez également ce SO link pour voir si cela vous aide à résoudre votre problème.

+0

J'ai listé le seau et le nom de fichier il existe existe aussi la permission J'ai lu et écrit permission, aussi je peux télécharger et télécharger des fichiers. mais je n'autorise aucune opération de copie –

+1

Pouvez-vous essayer CLI et partager ce qui se passe sur: aws s3 cp s3: // sourceBucketName/sourceKey s3: // destinationBucketName/destinationKey? – Saurabh

+0

Une erreur est survenue (AccessDenied) lors de l'appel de l'opération CopyObject: Accès refusé en tant que sortie –