Мне нужна помощь с 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