2011-12-16 12 views
3

SDKを使用すると、キューを作成してキューリストを取得できますが、何とかキューにメッセージを送信できません。PHP用のAWS SDK - SQSエラー

$sqs = new AmazonSQS(); 
$sqs->set_region(AmazonSQS::REGION_SINGAPORE); 
$queues = $sqs->get_queue_list(); 
$response = $sqs->send_message($queues[0], $message); 

しかし、私はエラーになっています:次のように使用

[Type] => Sender 
[Code] => AWS.SimpleQueueService.NonExistentQueue 
[Message] => The specified queue does not exist for this wsdl version. 

$キューを以下の通りです:(xxxxxは数である)

Array 
(
    [0] => https://sqs.ap-southeast-1.amazonaws.com/1001xxxxxxxx/website-email 
) 

任意のアイデア?

+0

を持っていますか? $ queues [0]の値は何ですか? –

+0

キューのURLがあります。 infoで質問を更新しました。 – Vikash

+0

どのようにしてキューを作成しますか? –

答えて

2

私は同じ問題があります。それはSDK 1.5のバグのようです!

チェックこの:そこからhttps://forums.aws.amazon.com/thread.jspa?threadID=82874&tstart=0

引用:あなたはキューが作成さ

Users are experiencing problems when performing queue operations like send_message and receive_message where an HTTP 400 error is received with the error code AWS.SimpleQueueService.NonExistentQueue. This is being caused by a regression introduced in version 1.5 of the SDK in which the request URL for queue operations is not being constructed properly.

HTH

-1

私が知る限り、send_message()の最初のパラメータはURIではなくキューの名前です。

+0

名前はうまくいきません。 BTW - send_messageはURLを受け取ります。出典:documentation - http://docs.amazonwebservices.com/AWSSDKforPHP/latest/#m=AmazonSQS/send_message – Vikash

+1

私はドキュメントを分かりにくくしています - URLの例でキュー名を使用しています – petr