我正在使用 Amazon 的 SDK 2 for PHP 设置 SQS。
使用新 SDK 的 Web 上现有内容似乎很少。
这是基于 Guzzle 构建的最新 Amazon Services SDK。
我能够成功:
- 创建队列
- 获取队列 URL
- 列出所有队列
- 获取队列 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'
有任何想法吗?