AWS SDK 2.8 Застрял в функции getIterator() с AccessDenied/403

Надеюсь, кто-то может помочь. Я новичок в AWS SDK, и у нас есть корзина с подсегментами. У меня есть правильный ключ доступа и секрет, так как я могу войти в систему с помощью CyberDuck и изменить/удалить файлы в корзине, но когда я пытаюсь просмотреть содержимое корзины, я получаю код ошибки AccessDenied/403.

Вот код, с которым я сейчас работаю, кажется очень простым. Я просто не знаю, есть ли что-то еще, что мне нужно сделать в моей учетной записи (другие разрешения), которые мешают мне перечислить содержимое корзины. Следует отметить, что если я делаю $client->ListBuckets(), я вижу все доступные сегменты, но задерживается только часть итератора.

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

Любая помощь будет принята с благодарностью!


person Aaron Olin    schedule 03.07.2016    source источник


Ответы (1)


Поскольку у меня не было доступа администратора к консоли AWS нашей компании, я пошел дальше и просто получил учетную запись s3, и все работает нормально. Я собираюсь поговорить с другими разработчиками, просто чтобы узнать, есть ли какие-либо разрешения с нашей стороны, которые нам нужно исправить, но теперь все работает, как и ожидалось. Я должен был сделать это первым, прежде чем копаться в этом. Я просто подумал, что присланные мне учетные данные были достаточно глобальными :(

person Aaron Olin    schedule 03.07.2016