我正在制作面部追踪思维视频
AWS Rekognition
(StartFaceSearch
)。它将返回作业 ID。我已经设置了所有 SQS
SNS
部分。 我的问题是我无法使用receiveMessage()
从SQS获取消息。即使listQueues()
也不起作用。它给出了以下错误。
“代码如下。 AWS PHP SDK 版本 3.64.11。https://sqs.us-east-1.amazonaws.com”上的“ListQueues”; AWS HTTP 错误:客户端错误:
POST https://sqs.us-east-1.amazonaws.com
导致403 Forbidden
响应:发件人< ErrorResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/">S(已截断...) SignatureDoesNotMatch(客户端):我们计算的请求签名与您提供的签名不匹配。检查您的 AWS 秘密访问密钥和签名方法。详情请参阅服务文档。< Code > 此请求的规范字符串应该是 '邮政 / .......< continue.............
$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";
}
提前致谢!
我已经通过重新生成access key
解决了问题
。我简直不敢相信 但有一些问题。我从这个已关闭的issue中发现了这个想法。这个问题几乎是四年前的事了,现在我也遇到了同样的错误。
访问/密钥中的特殊字符可能会出现问题在
AWS console
中重新生成密钥后。
SQS
所有方法都可以与新的
credentials
配合使用。在Github 官方存储库上将此报告为错误。