2017-01-19 142 views
0

我需要获取我的一个存储桶中的内容。我尝试使用AWS PHP SDK执行此操作,但没有任何返回结果。这里是我的代码:AWS:无法检索S3中的密钥

use Aws\S3\S3Client; 
$s3client = S3Client::factory(array('credentials' => array(
        'key' => '???????', 
        'secret' => '???????'), 'region' => '?????', 'version' => 'latest',)); 

try { 
    $data = $s3client->getIterator('ListObjects', array("Bucket" => "?????")); 
    print_r($data); 
} catch (S3Exception $e) { 
    echo $e->getMessage() . "\n"; 
} 

这里的输出中:

Generator Object () 

我从代码中得到的输出显示也没什么不好。但是,应该有一些内容。我使用的凭据与用于将对象上传到存储桶的凭据相同,因此我认为这些凭据不好。我错过了什么吗?我如何检索我的存储桶密钥?

回答

2

您正在获取迭代器而不是对象。 要获取需要使用迭代器的对象。例如:

foreach ($data as $object) { 
    echo $object['Key'] . "\n"; 
} 
+0

哦,我明白了。我没有使用listObjects ..谢谢! –

+0

您正在使用列表对象。这只是你回来了一个迭代器,你需要使用它来获取对象本身。 – Mircea