2017-01-19 3 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"; 
} 

다음은 OUPUT입니다 : 내가 그 코드에서 얻을

Generator Object () 

출력은 아무 문제가 없습니다 보이고있다. 그러나 몇 가지 내용이 있어야합니다. 내가 사용하는 자격 증명은 객체를 버킷에 업로드하는 데 사용하는 자격 증명과 동일하므로 나쁜 것이라고 생각하지 않습니다. 내가 놓친 게 있니? 버킷 키를 검색하려면 어떻게해야합니까?

답변

2

개체가 아닌 반복기가 나타납니다. 오브젝트를 얻으려면 반복기를 사용해야합니다. 다음과 같음 :

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

아, 알 수 있습니다. 나는 listObjects를 사용하지 않고있다. 고맙다! –

+0

목록 개체를 사용하고 있습니다. 그것은 당신이 객체 자체에 도달하는 데 사용해야하는 반복자를 되 찾는 것입니다. – Mircea

관련 문제