Ошибка подключения к Amazon Amazon с Laravel - PullRequest
1 голос
/ 21 мая 2019

Я устанавливаю соединение с Amazon, как это

    $s3 =  AwsFacade::createClient('s3');
    $s3->getObject(array(
            'Bucket' => 'NameBuckut',
            'secret'    => 'SecretKey',
            'Key'    => 'Key',
            'SourceFile' => 'pathImage/Image.png',
        )); 

У меня есть эта ошибка:

exception 'Aws\S3\Exception\S3Exception' with message 'Error executing "GetObject" on "https://test.s3.amazonaws.com/Key"; AWS HTTP error: Client error: `GET https://test.s3.amazonaws.com/key` resulted in a `400 Bad Request` response:
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AuthorizationHeaderMalformed</Code><Message>The authorization header (truncated...)

Как я могу устранить эту ошибку?

1 Ответ

0 голосов
/ 21 мая 2019

Я думаю, у вас недостаточно прав для извлечения объекта.

https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html

Здесь вы можете увидеть некоторые значения, и при поиске возврата «AuthorizationHeaderMalformed» вы получите следующее значение

The authorization header you provided is invalid.

Таким образом, вы должны проверить правильность своих разрешений, и у вас достаточно прав для получения файла. Проверьте также «Bucket policy».

Laravel поддерживает S3, так что вы можете настроить его и использовать поверх хранилища, возможно, это работает лучше.

https://laravel.com/docs/5.8/filesystem

...