【问题标题】:S3::getObjectInfo [403] Unexpected HTTP statusS3::getObjectInfo [403] 意外的 HTTP 状态
【发布时间】:2015-11-24 17:02:35
【问题描述】:

我正在使用getObjectInfo($bucket, $fileUri) 来获取我在 S3 上拥有的文件的详细信息。

相同的代码在 EC2 实例上运行,我收到以下响应:

object(stdClass)#10 (4) {
  ["error"]=>
  bool(false)
  ["body"]=>
  NULL
  ["headers"]=>
  array(5) {
    ["date"]=>
    int(1447937934)
    ["time"]=>
    int(1447835426)
    ["hash"]=>
    string(32) "9841b46a11dfe58z86196cfr812i81sv"
    ["type"]=>
    string(24) "application/octet-stream"
    ["size"]=>
    int(5415)
  }
  ["code"]=>
  int(200)
}

但是当我在本地机器上尝试相同的代码时,我得到了以下响应:

object(stdClass)#10 (4) {
  ["error"]=>
  bool(false)
  ["body"]=>
  NULL
  ["headers"]=>
  array(2) {
    ["type"]=>
    string(15) "application/xml"
    ["date"]=>
    int(1447935810)
  }
  ["code"]=>
  int(403)
}

还有这个警告:

PHP Warning:  S3::getObjectInfo(bucket01,folder1/2015_01_01/abcdefgh/abcdefgh.txt): [403] Unexpected HTTP status in /abc/def/S3.php on line 355

我在下面的链接中使用 amazon S3 PHP 类进行 REST:http://undesigned.org.za/2007/10/22/amazon-s3-php-class

我觉得 S3 存储桶策略存在问题,但不确定是什么问题。 任何建议都会很有帮助。

【问题讨论】:

    标签: php amazon-web-services amazon-s3 amazon-ec2


    【解决方案1】:

    问题的主要原因是本地计算机中的 AWS CLI 版本不匹配。

    在所有本地机器上安装了最新版本的 AWS CLI,它解决了这个问题。

    现在我的所有请求都获得了 200(OK)状态。

    【讨论】:

      猜你喜欢
      • 2016-10-28
      • 1970-01-01
      • 2014-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-30
      • 1970-01-01
      相关资源
      最近更新 更多