2016-07-03 4 views
0

으로 getIterator() 함수가 멈췄을 때 누군가 도움을 주길 바랍니다. AWS SDK를 처음 사용하고 있으며 버킷이 있으며 하위 버킷이 있습니다. CyberDuck으로 로그인하고 버킷의 파일을 수정/삭제할 수 있기 때문에 정확한 액세스 키와 비밀이 있습니다. 그러나 버킷 내용을 나열하려고하면 AccessDenied/403 오류 코드가 나타납니다.AWS SDK 2.8 AccessDenied/403

여기에 제가 현재 작업하고있는 코드가 있습니다. 매우 단순합니다. 나는 버킷 내용을 나열하지 못하게하는 내 계정 (다른 권한 부여)에서해야 할 일이 있는지 모릅니다. 한 가지주의해야 할 점은 $ client-> ListBuckets()를 사용하면 사용할 수있는 모든 버킷을 볼 수 있지만 iterator 부분 만 보류됩니다.

require 'vendor/autoload.php'; 

use Aws\Common\Aws; 
use Aws\Common\Iterator\AwsResourceIterator; 

$aws = Aws::factory(array(
    'key' => '###my_key###', 
    'secret' => '###my_secret###' 
)); 

$client = $aws->get('s3'); 

$iterator = $client->getIterator('ListObjects', array('Bucket' => $bucket)); 

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

그리고 이것은 내가 점점 오전 오류는 다음과 같습니다

Fatal error: Uncaught Aws\S3\Exception\AccessDeniedException: AWS Error Code: AccessDenied, Status Code: 403, AWS Request ID: 195F81351F864AE4, AWS Error Type: client, AWS Error Message: Access Denied, User-Agent: aws-sdk-php2/2.8.30 Guzzle/3.9.3 curl/7.38.0 PHP/5.6.16 ITR thrown in /Volumes/localdev/www/aws/vendor/aws/aws-sdk-php/src/Aws/Common/Exception/NamespaceExceptionFactory.php on line 91 

어떤 도움을 크게 감상 할 수있다!

답변

0

우리 회사의 AWS Console에 대한 관리자 액세스 권한이 없으므로 앞으로 나 자신을 s3 계정으로 만들었고 모든 것이 잘 작동합니다. 우리가 고칠 필요가있는 우리의 권한이 있는지를보기 위해 다른 개발자들과 이야기를 나눌 것입니다. 그러나 모든 것이 현재 예상대로 작동하고 있습니다. 나는 이것을 조사하기 전에 이것을 먼저해야만했다. 방금 나에게 보낸 신임 정보가 충분하다고 생각했습니다. (