【发布时间】:2018-05-31 12:20:43
【问题描述】:
我在 S3 的欧盟(伦敦)地区有存储桶。我正在尝试通过命令行上传 tar 文件。最后它会抛出一个错误,这样说
A client error (PermanentRedirect) occurred when calling the PutObject operation: The bucket you are attempting to access must be addressed using the specified endpoint.Please send all future requests to this endpoint.
通过提供正确的访问密钥和区域,我已使用 aws configure 正确配置。有人能解释一下这个问题吗
我已经创建了一个脚本来通过创建一个 tar 文件来上传数据库
HOST=abc.com
DBNAME=db
BUCKET=s3.eu-west-2.amazonaws.com/<bucketname>/
USER=<user>
stamp=`date +"%Y-%m-%d"`
filename="Mgdb_$stamp.tar.gz"
TIME=`/bin/date +%Y-%m-%d-%T`
DEST=/home/$USER/tmp
TAR=$DEST/../$TIME.tar.gz
/bin/mkdir -p $DEST
echo "Backing up $HOST/$DBNAME to s3://$BUCKET/ on $TIME";
/usr/bin/mongodump --host $HOST --port 1234 -u "user" -p "pass" --authenticationDatabase "admin" -o $DEST
/bin/tar czvf $TAR -C $DEST .
/usr/bin/aws s3 cp $TAR s3://$BUCKET/$stamp/$filename
/bin/rm -f $TAR
/bin/rm -rf $DEST
【问题讨论】:
-
我还通过在 aws 控制台中检查该区域来确认该区域是欧盟(伦敦)。
-
你可以分享你用来上传到 S3 存储桶的命令吗?
-
@junkangli 我已经分享了脚本
-
脚本中 S3Uri 的格式不正确。应该是
s3://<bucketname>/<prefix>/<filename>。然后添加--region选项来指定存储桶区域。 -
@junkangli 你能告诉我
<prefix>在你的评论中是什么吗?
标签: amazon-web-services amazon-s3 ubuntu-14.04 s3cmd