Я пытаюсь загрузить данные с сервера 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',
)
);
Первый запрос работает отлично, но во второй раз, когда я это называю, он вылетает с вышеуказанным исключением.
Кто-нибудь знает, как это исправить?
Большое спасибо.
Я нашел себе решение.
Оказывается, я отправлял пустую строку во второе ходатайство в ключе. AWS выдает исключение Aws \ S3 \ Exception \ AccessDeniedException, если получает данные, которые ему не нравятся.
Однако полезно знать, чтобы мы могли отловить это исключение или лучше контролировать вводимые данные.
Других решений пока нет …