Загрузить на S3 с помощью PHP SDK, подпись не совпадает? - PullRequest
0 голосов
/ 19 декабря 2018

Вот моя функция для загрузки на S3 с использованием PHP.Я получаю эту ошибку:

Рассчитанная нами подпись запроса не соответствует предоставленной вами подписи.Проверьте свой ключ и метод подписи.

Я использую правильный ключ и секрет.Что я сделал не так?

 function upload_s3bucket($file,$name,$bucket) {
        require(APPPATH.'/third_party/aws/aws-autoloader.php');
        $key = "*******";
        $secret = "************";
        $file = "/var/www/vhosts/example.com/website/assets/media/images/test.jpg";

        if(isset($file)){

            $s3 = new Aws\S3\S3Client([
                'region'  => 'us-east-1',
                'version' => 'latest',
                'credentials' => [
                    'key'    => $key,
                    'secret' => $secret,
                ]
            ]);     

            $result = $s3->putObject([
                'Bucket' => 'cdn-example.com/'.$bucket,
                'Key'    => $key,
                'SourceFile' => $file,
                'ACL'   => 'public-read'    
            ]);

            return $file_name;

        }

    }

Ключ объекта совпадает с ключом доступа?Я использую ключ доступа, который я создал из "Your Credentials".

1 Ответ

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

Нет, они не совпадают, ключ объекта S3 относится к папке в корзине S3, т.е. s3: // mybucket / mykey

Ключ доступа - это ваш ключ доступа и секретный ключ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...