2017-01-19 194 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