2017-03-18 76 views
1

我想將我的所有數據從賬戶ABucket1移動到賬戶BBucket2aws cli簽名版本4

對於這一點:

  1. 我下載AWS CLI的Windows。
  2. 進入IAM憑據使用命令aws configure(這些憑據是從帳戶B
  3. 運行命令同步桶:aws s3 sync s3://Bucket1 s3://Bucket2

    我收到以下錯誤:

fatal error: An error occured (InvalidRequest) when calling the ListObject operation: You are attempting to operate on a bucket in a region that requires Signature Version 4. You can fix this issue by explicitly providing the correct region location using the --region argument, the AWS_DEFAULT_REGION environment variable, or the region variable in the AWS CLI configuration file. You can get the bucket's location by running "aws s3api get-bucket-location --bucket BUCKET".

如何應對這個錯誤?

aws --version 
aws-cli/1.11.61 Python/2.7.9 windows/8 botocore/1.5.24 
+0

正如錯誤所述,你應該在你的'aws s3 sync'命令中加一個'--region'參數。我認爲你需要引用*目標*區域,但如果這不起作用,請嘗試*源*區域。它將採用「us-east-1」或「us-west-2」的格式。你在使用哪個區域? –

+0

如何添加區域參數(語法)?我在命令'aws --region us-west-2'收到'太少參數'錯誤' –

+0

'aws s3 sync s3:// Bucket1 s3:// Bucket2 --region us-west-2' –

回答

1

S3網址是這樣的:https://console.aws.amazon.com/s3/home?region=us-east-1 所以我推測us-east-1是我區,但實際上它不是!

我用AWS命令找到Bucket2區域,它告訴我一個不同的區域。

然後我用這個命令aws s3 sync s3://Bucket1 s3://Bucket2 --region Asia Pacific (Mumbai)和一切工作正常!