Ich versuche, eine Datei aus einem privaten s3-bucket über cli in meine ec2-Instanz zu kopieren. Das ec2 befindet sich in derselben Region wie der Bucket und hat die folgende IAM-Rolle (AmazonS3FullAccess):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
Der Befehl aws s3 cp s3://[BUCKETNAME]/index.html
schlägt jedoch mit dem Fehler fehl:
Beim Aufrufen der HeadObject-Operation ist ein Clientfehler (400) aufgetreten: Ungültige Anforderung 1 Teil (e) mit verbleibenden ... Datei (en) abgeschlossen.
Ich habe die Schreibweise des Bucket-Namens bereits geprüft ...
Ich habe die Option --region zur Anweisung hinzugefügt und alles funktioniert jetzt:
aws s3 cp s3:/[BUCKETNAME]/ . --recursive --region [REGION]
Mein Problem wurde behoben, sobald ein Upgrade auf die neueste Version von aws cli durchgeführt wurde. So führen Sie ein Upgrade durch: pip install --upgrade --user awscli
die Angabe der Region war nicht hilfreich
Ich habe den Parameter --region hinzugefügt und es hat angefangen zu arbeiten.
aws --region eu-west-2 s3 cp s3://[BUCKETNAME]/index.html
Als ich meine Richtlinien von "Inline-Richtlinien" in "verwaltete Richtlinien" geändert habe, hat es funktioniert. Meine Antwort finden Sie unter https://stackoverflow.com/a/37532132/4126114
Region-Parameter hat bei mir nicht funktioniert.
Ich habe es mit --profile probiert und es hat alles gepasst.
aws s3api head-bucket --bucket xxxx - profile dev-profile