Загрузка нескольких данных с помощью AWS SDK для PHP

Я пытаюсь загрузить данные с сервера AWS S3 с их SDK для PHP, но при втором запросе он вылетает с этой ошибкой:

Неустранимая ошибка: Uncaught Aws\S3\Exception\AccessDeniedException: Код ошибки AWS: AccessDenied, Код состояния: 403, Идентификатор запроса AWS...

Это мой код:

use Aws\Common\Aws;

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

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

$result = $awsClient->getObject(
    array(
        'Bucket' => 'my_bucket',
        'Key' => 'my_key',
    )
);

Первый запрос работает отлично, но во второй раз, когда я вызываю его, происходит сбой с указанным выше исключением.

Кто-нибудь знает, как это исправить?

Большое тебе спасибо.


person Berna    schedule 22.01.2015    source источник


Ответы (1)


Я нашел себе решение.

Оказывается, я отправлял пустую строку во вторую петицию, в ключ. AWS генерирует исключение Aws\S3\Exception\AccessDeniedException, если получает данные, которые ему не нравятся.

Однако это полезно знать, чтобы мы могли поймать это исключение или лучше контролировать входные данные.

person Berna    schedule 22.01.2015