【问题标题】:Issue while performing the Get-Object Operation in S3 using AWSCLI使用 AWS CLI 在 S3 中执行 Getobject 操作时出现问题
【发布时间】:2017-11-17 20:14:24
【问题描述】:

我正在尝试在 AWS 中执行 Get-Object 操作。为此,我点击了以下链接:

http://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html

按照这个,我尝试从我的 CLI 执行以下命令:

aws s3api get-object --bucket test-bucket-1 --key test-object sample.zip

在哪里,

test-bucket-1 是我的存储桶的名称, test-object 是我的对象的名称, sample.zip 是我希望将内容下载到的 zip 文件。

通过这样做,我得到以下错误:

调用 GetObject 操作时发生错误(无效令牌):提供的令牌格式错误或无效。

执行此操作的用户附加了以下政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]

}

我是否传递了错误的参数?请告诉我。

【问题讨论】:

  • 您在运行该命令之前是否执行了aws configure?如果是这样,您可能需要查看您正在使用的 IAM 用户附带的策略。
  • 是的,我运行了它。设置 AWS 访问密钥和密钥、指定区域和输出格式。
  • 太棒了!您是否授予此用户访问 test-bucket-1 的权限?如果没有,我会发布一个答案,我会给你政策。
  • 没有 Abdennour。我没有授予访问存储桶的任何权限。
  • 检查您在运行此命令的机器上的时间是否同步,如果不同步,您会收到类似的错误。

标签: amazon-web-services amazon-s3


【解决方案1】:

即使您在运行aws configure 时设置了区域,您也需要使用此命令再次设置它(设置存储桶的区域):

aws s3api get-object --bucket test-bucket-1 --key test-object sample.zip --region <BUCKET-REGION>

看起来很奇怪,但我之前也遇到过类似的问题,解决方法就是我解释的。

当然,答案假设您具有访问存储桶的正确权限(策略),因为您说您具有管理员访问权限。

【讨论】:

  • 嗨 Abdennour,我尝试了您提供的答案。下面是我的命令:aws s3api get-object --bucket test-bucket-1 --key test-object sample.zip --region us-east-2。但是,我仍然遇到同样的问题。
  • 奇怪!我将删除答案。尽管如此,我还是敦促您将此答案作为说明。因为这些信息是我在准备 AWS 认证的整个过程中得到的,而且我发现它是有效的。
  • @Abdennour。你的命令是正确的。但是请注意,您正在复制对象“test-object”并将其写入“sample.zip”。
  • 这个错误很可能是他电脑上的时钟错误造成的。
  • @JohnHanley 如果您能通过详细说明帮助他,我将不胜感激。
猜你喜欢
  • 2019-08-24
  • 2020-02-03
  • 2020-12-11
  • 1970-01-01
  • 2011-07-05
  • 2020-04-25
  • 1970-01-01
  • 2019-04-22
  • 2021-06-10
相关资源
最近更新 更多