J'essaie de copier un fichier d'un s3-bucket privé via cli vers mon instance ec2. Le ec2 se trouve dans la même région que le compartiment et est associé au rôle IAM suivant (AmazonS3FullAccess):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
Mais la commande aws s3 cp s3://[BUCKETNAME]/index.html
échoue avec l'erreur suivante:
Une erreur client (400) s'est produite lors de l'appel de l'opération HeadObject: Requête incorrecte terminée 1 partie (s) avec ... fichier (s) restant.
J'ai déjà vérifié l'orthographe du nom du seau ...
J'ai ajouté l'option --region à la déclaration et tout fonctionne maintenant:
aws s3 cp s3:/[BUCKETNAME]/ . --recursive --region [REGION]
Mon problème a été résolu dès que j'ai mis à jour la dernière version de aws cli. Voici comment vous mettez à niveau: pip install --upgrade --user awscli
spécifier la région n'a pas été utile
J'ai ajouté le paramètre --region et cela a commencé à fonctionner.
aws --region eu-west-2 s3 cp s3://[BUCKETNAME]/index.html
Quand j'ai changé ma même politique de "politiques en ligne" en "politiques gérées", cela a fonctionné. Référez-vous à ma réponse à https://stackoverflow.com/a/37532132/4126114
Le paramètre de région n'a pas fonctionné pour moi.
J'ai essayé d'utiliser --profile et tout a bien fonctionné.
aws s3api head-bucket --bucket xxxx --profile profil de dev