2017-08-25 21 views
0

当我尝试从公共s3存储桶中获取对象时,我得到null或奇怪的响应,当我var_dump时它是一个空对象(Generator)。列出对象时S3Client上的空或奇怪的响应

$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为空,结果1为空的发电机对象。

有人知道为什么会发生这种情况? 我确定这个存储桶的名称,因为我可以通过3Hub进行连接,所以我知道这些文件名。

感谢

回答

0

由于它是一个公共斗,尝试设置 '凭据' 为false:

$s3 = new Aws\S3\S3Client([ 
    'region' => 'eu-west-1', 
    'version' => 'latest', 
    'credentials' => false 
]); 

这应该工作

+0

工作,谢谢 – RavRecon