API S3 - aws - php -sdk - AuthMethodNotRecognized - PullRequest
0 голосов
/ 27 марта 2020

Мне нужна помощь с S3 API с использованием официального aws -sdk- php и подключением к стороннему S3-совместимому хранилищу. Aws -sdk- php устанавливается с использованием composer.

Я все время получаю 403 и ответ от сервера: AuthMethodNotRecognized

Любые идеи, пожалуйста?


use Aws\S3\S3Client;

define('AWS_KEY', username');

define('AWS_SECRET_KEY', 'password);

$ENDPOINT = 'http://storage';

require __DIR__.'/vendor/autoload.php';

$client = new S3Client([

'region' => '',

'version' => 'latest',

//'version' => '2006-03-01',

'endpoint' => $ENDPOINT,

'credentials' => [

'key' => AWS_KEY,

'secret' => AWS_SECRET_KEY

],

'use_path_style_endpoint' => true

]);



$bucketname = "novybucket";

$objectsListResponse = $client->listObjects(['Bucket' => $bucketname]);

$objects = $objectsListResponse['Contents'] ?? [];

foreach ($objects as $object) {

    echo $object['Key'] . "\t" . $object['Size'] . "\t" . $object['LastModified'] . "\n";

}

Неустранимая ошибка: необработанное исключение «Aws \ S3 \ Exception \ S3Exception» с сообщением «Ошибка выполнения« ListObjects »для« https://storage/novybucket?encoding-type=url »; AWS Ошибка HTTP: ошибка клиента: GET https://storage/novybucket?encoding-type=url, что привело к ответу 403 Forbidden: AuthMethodNotRecognized AuthMethodNotRecognized (client): - AuthMethodNotRecognized 'GuzzleHttp \ Exception \ ClientException: ошибка клиента: GET https://storage/novybucket?encoding-type=url привела к 403 Forbidden ответ: AuthMethodNotRecognized in / var / www/html/lukas/s3/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php: 113 Трассировка стека: # 0 / var / www/html/lukas/s3/vendor/guzzlehttp/guzzle/src/Middleware.php in / var / www/html/lukas/s3/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php в строке 195

...