Ошибка AWS SQS: Ошибка HTTP SignatureDoesNotMatch: 403

Я работаю над мысленным видео с отслеживанием лиц AWS Rekognition (StartFaceSearch). Он вернет идентификатор задания. Я установил все SQS SNS части. Моя проблема в том, что я не могу получить сообщение от SQS с помощью receiveMessage(). Даже listQueues() тоже не работает. Это дает эту ошибку ниже.

"ListQueues" на "https://sqs.us-east-1.amazonaws.com "; Ошибка HTTP AWS: ошибка клиента: POST https://sqs.us-east-1.amazonaws.com привела к 403 Forbidden ответу: ‹ErrorResponse xmlns =" ​​http://queue.amazonaws.com/doc/2012-11-05/ "> Sender‹ Code> S (усечено ...) SignatureDoesNotMatch (клиент): рассчитанная нами подпись запроса не соответствует предоставленной вами подписи. Проверьте свой ключ доступа к AWS и метод подписи. За подробностями обращайтесь к сервисной документации.

Каноническая строка для этого запроса должна была быть 'POST / ....... ‹continue .............

Код, как показано ниже. AWS PHP SDK версии 3.64.11.

$queueUrl = "https://sqs.us-east-1.amazonaws.com/xxxxxxx/facetrackingreceive";
        // Get the client from the builder by namespace
        $sqs_client = new SqsClient(array(
            'credentials' => array(
                'key'    => 'xxxxxxxxxx',
                'secret' => 'xxxxxxxxxxxxxxxxxxxxxxx',
            ),
            'version' => '2012-11-05',
            'region'  => 'us-east-1',
            'http' => [ 'verify' => false ],

        ));

        $result = $sqs_client->listQueues();

        foreach ($result->get('QueueUrls') as $queueUrl) {
            echo "$queueUrl\n";
        }

Заранее спасибо!


person Pranavan SP    schedule 23.08.2018    source источник
comment
Вы сделали, как он предлагает, проверили свой секрет AWS и метод подписи?   -  person Chris Cousins    schedule 23.08.2018
comment
@ChrisCousins ​​нет! Я сделал это, как показано выше. могу предложить эту ссылку для проверки   -  person Pranavan SP    schedule 23.08.2018
comment
Что-то здесь не так; ваш POST направлен на sqs.eu-west-1.amazonaws.com, но в вашем коде написано sqs.eu-east-1.amazonaws.com?   -  person Chris Cousins    schedule 23.08.2018
comment
@ChrisCousins, вы правы, но я изменил это сообщение об ошибке. это не настоящая проблема. :(   -  person Pranavan SP    schedule 23.08.2018


Ответы (1)


Я решил проблему, восстановив access key. Я не могу поверить в это, но в этом что-то не так. Я нашел эту идею в закрытой проблеме. эта проблема возникла почти за 4 года до того, как я получил ту же ошибку.

Проблема может возникнуть из-за специальных символов в ключах доступа / секретных ключах

После восстановления ключей в AWS console. SQS все методы отлично работают с новым credentials. Сообщается об этом как об ошибке в официальном репозитории Github.

person Pranavan SP    schedule 24.08.2018