AWS v3 + PHP: ошибка при получении учетных данных с сервера метаданных профиля экземпляра - PullRequest
0 голосов
/ 05 декабря 2018

Доброе утро,

Я работаю с AWS, чтобы воспользоваться услугами хранилища.Я на основе версии 3, вы можете найти его здесь: https://docs.aws.amazon.com/it_it/sdk-for-php/v3/developer-guide/getting-started_installation.html Установка с помощью ZIP-файла!

Я нахожу эту ошибку:

Uncaught exception 'Aws\Exception\CredentialsException' with message 'Error retrieving credentials from the instance profile metadata server. (cURL error 7: Failed connect to 169.254.169.254:80; No route to host (see http://curl.haxx.se/libcurl/c/libcurl-errors.html))' 

Мой код:

use Aws\S3\S3Client;
require_once 'aws-autoloader.php';
require_once 'config.php';

$config = array(
        'bucket' => BUCKET,
        'region'  => 'eu-west-3',
        'version' => 'latest',
        'credentials  ' => array('key'=>KEY,
                'secret'=>SECRET)
      );

$s3 = Aws\S3\S3Client::factory($config);
$objects = $s3->getIterator('ListObjects', ['Bucket' => $config['bucket'], 'Prefix' => 'challenge/']
);

Я создаю функцию, независимую от cms или framework.

Кто-нибудь знает, как решить?

1 Ответ

0 голосов
/ 05 декабря 2018

Думаю, у вас есть пробел в ключе 'credentials' в вашем массиве.

'credentials ' => array('key'=>KEY, 'secret'=>SECRET)

должно быть

'credentials' => array('key'=>KEY, 'secret'=>SECRET)

Изменить: Попробуйте обновить свои учетные данные для использования объекта учетных данных Aws

$credentials = new Aws\Credentials\Credentials(AWS_ACCESS_KEY_ID ,AWS_SECRET_ACCESS_KEY);
$config = array(
    'bucket' => BUCKET,
    'region'  => 'eu-west-3',
    'version' => 'latest',
    'credentials  ' => $credentials
  );
...