当我尝试从公共生成器存储桶中获取对象时,我得到的是null或奇怪的响应,当我对其执行var_dump操作时,这是一个空对象(生成器)。
$s3 = new Aws\S3\S3Client([
'region' => 'eu-west-1',
'version' => 'latest'
]);
$result0 = $s3->listObjects([
'Bucket' => 'pub-bucket-name'
]);
$result1 = $s3->getIterator(
'ListObjects',
['Bucket' => 'pub-bucket-name']
);
$result2 = $s3->getObject([
'Bucket' => 'pub-bucket-name',
'Key' => 'a_known_filename.json'
]);结果0和2为null,结果1为空Generator对象。
有人知道为什么会这样吗?我确信存储桶的名称是公共的,因为我可以通过3Hub连接,这也是我知道文件名的原因。
谢谢
发布于 2017-09-13 05:44:23
由于它是一个公共存储桶,请尝试将'credentials‘设置为false:
$s3 = new Aws\S3\S3Client([
'region' => 'eu-west-1',
'version' => 'latest',
'credentials' => false
]);这应该是可行的
https://stackoverflow.com/questions/45877370
复制相似问题