Amazon S3 同步到本地机器失败
Amazon S3 sync to local machine failed
我是 AWS 的新手,我正在尝试使用 aws s3 sync
从我的 S3 存储桶将一堆文件下载到我的本地计算机,如 http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html 中所述。
我使用了以下命令:
aws s3 sync s3://outputbucket/files/ .
我收到以下错误:
调用 ListObjects 操作时发生客户端错误 (AccessDenied):拒绝访问
已完成 1 部分,剩余 ... 文件
尽管我已经按照 http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html
中的描述配置了我的访问密钥 ID 和秘密访问密钥
问题可能出在哪里?
要执行文件同步,需要两组权限:
ListObjects
获取要复制的文件列表
GetObjects
访问对象
如果您使用的是 AWS 账户附带的 "root" 用户,您将自动拥有这些权限。
如果您使用的是在身份和访问管理 (IAM) 中创建的用户,则需要将这些权限分配给该用户。最简单的方法是分配 AmazonS3FullAccess
策略,该策略允许访问所有 S3 函数。
假设您是管理员 and/or 您已经正确设置了您的凭据,您可能正在使用旧的 AWS CLI。
我在 Ubuntu 14.04 中使用打包的 AWS CLI 时遇到了这个问题。
对我有用的解决方案是删除使用 Ubuntu 预打包的 AWS CLI,然后从 python-pip 下载它:
sudo apt-get remove awscli
sudo apt-get install python-pip
sudo pip install awscli
非常感谢link:
https://forums.aws.amazon.com/thread.jspa?threadID=173124
在我的例子中,存储在 ~/.aws/config
中的凭据被来自 ~/.zshrc
的竞争配置文件破坏。 运行 env | grep AWS
检查。
我是 AWS 的新手,我正在尝试使用 aws s3 sync
从我的 S3 存储桶将一堆文件下载到我的本地计算机,如 http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html 中所述。
我使用了以下命令:
aws s3 sync s3://outputbucket/files/ .
我收到以下错误: 调用 ListObjects 操作时发生客户端错误 (AccessDenied):拒绝访问 已完成 1 部分,剩余 ... 文件
尽管我已经按照 http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html
中的描述配置了我的访问密钥 ID 和秘密访问密钥问题可能出在哪里?
要执行文件同步,需要两组权限:
ListObjects
获取要复制的文件列表GetObjects
访问对象
如果您使用的是 AWS 账户附带的 "root" 用户,您将自动拥有这些权限。
如果您使用的是在身份和访问管理 (IAM) 中创建的用户,则需要将这些权限分配给该用户。最简单的方法是分配 AmazonS3FullAccess
策略,该策略允许访问所有 S3 函数。
假设您是管理员 and/or 您已经正确设置了您的凭据,您可能正在使用旧的 AWS CLI。
我在 Ubuntu 14.04 中使用打包的 AWS CLI 时遇到了这个问题。
对我有用的解决方案是删除使用 Ubuntu 预打包的 AWS CLI,然后从 python-pip 下载它:
sudo apt-get remove awscli
sudo apt-get install python-pip
sudo pip install awscli
非常感谢link: https://forums.aws.amazon.com/thread.jspa?threadID=173124
在我的例子中,存储在 ~/.aws/config
中的凭据被来自 ~/.zshrc
的竞争配置文件破坏。 运行 env | grep AWS
检查。