0

我正在使用 Amazon 的 SDK 2 for PHP 设置 SQS。

使用新 SDK 的 Web 上现有内容似乎很少。

这是基于 Guzzle 构建的最新 Amazon Services SDK。

我能够成功:

  1. 创建队列
  2. 获取队列 URL
  3. 列出所有队列
  4. 获取队列 ARN

但我无法获取任何队列属性或向队列发送消息。

我获取队列属性的调用是:

$attr   = $sqs->getQueueAttributes(
    array(
        'QueueUrl'          => 'test_18_16-36-57'
    )
);

尝试队列属性时,我得到以下响应:

我们计算的请求签名与您提供的签名不匹配。检查您的 AWS 秘密访问密钥和签名方法。有关详细信息,请参阅服务文档。

此请求的规范字符串应该是 'POST /100404228159/test_18_16-36-57

内容类型:应用程序/x-www-form-urlencoded 主机:sqs.us-east-1.amazonaws.com 用户代理:aws-sdk-php2/2.1.0 Guzzle/3.1.2 curl/7.22.0 PHP /5.3.10-1ubuntu3.5 x-amz-日期:20130218T213657Z

内容类型;主机;用户代理;x-amz-日期 a70e8dd76245fc6631c1b051623a90752c7cec0cd55fa636000c47ad3d8e4e06'

签名字符串应该是 'AWS4-HMAC-SHA256 20130218T213657Z 20130218/us-east-1/sqs/aws4_request 7695e40b612379da5025fca80e26ed6c29f95428e244d2b083764d203d369e36'

有任何想法吗?

4

1 回答 1

1

升级到最新版本能解决问题吗?

于 2013-02-19T16:26:16.427 回答