【发布时间】:2019-01-29 08:48:33
【问题描述】:
我正在制作面部跟踪思想视频AWS Rekognition (StartFaceSearch)。它将返回作业 ID。我已经设置了所有SQSSNS 部分。 我的问题是我无法使用receiveMessage() 从 SQS 获取消息。即使listQueues() 也无法正常工作。它给出了以下错误。
“https://sqs.us-east-1.amazonaws.com”上的“ListQueues”; AWS HTTP 错误:客户端错误:
POST https://sqs.us-east-1.amazonaws.com导致403 Forbidden响应:发件人S(截断...) SignatureDoesNotMatch(客户端):我们计算的请求签名与您提供的签名不匹配。检查您的 AWS 秘密访问密钥和签名方法。有关详细信息,请参阅服务文档。 这个请求的规范字符串应该是 '邮政 / .......
代码如下。 AWS PHP 开发工具包版本 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";
}
提前致谢!
【问题讨论】:
-
您是否按照建议进行操作,检查您的 AWS 密钥和签名方法?
-
@ChrisCousins 不!我按照上面的代码做到了。可以建议检查链接
-
这里出了点问题;您的 POST 是“sqs.eu-west-1.amazonaws.com”,但在您的代码中却显示“sqs.eu-east-1.amazonaws.com”?
-
@ChrisCousins 你是对的,但我已经更改了该错误消息。这不是一个真正的问题。 :(
标签: php laravel amazon-web-services amazon-sqs aws-php-sdk