으로 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
어떤 도움을 크게 감상 할 수있다!