キュー名がありません:
curl -i -u guest:guest -H "content-type:application/json" -X POST http://127.0.0.1:15672/api/queues/foo/my_queue/get -d'{"count":5,"requeue":true,"encoding":"auto","truncate":50000}'
どこで foo
は仮想ホストで、my_queue
はキュー名です。
結果:
[
{
"payload_bytes":4,
"redelivered":true,
"exchange":"",
"routing_key":"my_queue",
"message_count":5,
"properties":{
"delivery_mode":1,
"headers":{
}
},
"payload":"test",
"payload_encoding":"string"
},
{
"payload_bytes":4,
"redelivered":true,
"exchange":"",
"routing_key":"my_queue",
"message_count":4,
"properties":{
"delivery_mode":1,
"headers":{
}
},
"payload":"test",
"payload_encoding":"string"
},
{
"payload_bytes":4,
"redelivered":true,
"exchange":"",
"routing_key":"my_queue",
"message_count":3,
"properties":{
"delivery_mode":1,
"headers":{
}
},
"payload":"test",
"payload_encoding":"string"
},
{
"payload_bytes":4,
"redelivered":true,
"exchange":"",
"routing_key":"my_queue",
"message_count":2,
"properties":{
"delivery_mode":1,
"headers":{
}
},
"payload":"test",
"payload_encoding":"string"
},
{
"payload_bytes":4,
"redelivered":true,
"exchange":"",
"routing_key":"my_queue",
"message_count":1,
"properties":{
"delivery_mode":1,
"headers":{
}
},
"payload":"test",
"payload_encoding":"string"
}
]
編集
デフォルトの仮想ホストを使用している場合:
curl -i -u guest:guest -H "content-type:application/json" -X POST http://127.0.0.1:15672/api/queues/%2f/my_queue/get -d'{"count":5,"requeue":true,"encoding":"auto","truncate":50000}'
最近のリリースでは構文が変更されているようで (HTTP API ドキュメントは遅れているようです)、代わりに requeue
に注意してください。 オプション ack_mode
オプションを設定する必要があります。 "ack_mode"="ack_requeue_true"
したがって、現在の RabbitMQ バージョンの上記の例は次のようになります:
curl -u guest:guest -i -H "content-type:application/json" -X POST http://127.0.0.1:15672/api/queues/%2F/foo/get -d'{"count":5,"ack_mode"="ack_requeue_true","encoding":"auto","truncate":50000}'
私は問題を解決することができました。キー:
<ブロック引用>仮想ホストが構成されていません。
RabbitMQ は、デフォルトの VHOST に「/」表記を使用します。
"/" は %2F
に変換されます HTTPで...
したがって、正しい呼び出しは次のとおりです:
curl -u guest:guest -i -H "content-type:application/json" -X POST http://127.0.0.1:15672/api/queues/%2F/foo/get -d'{"count":5,"requeue":true,"encoding":"auto","truncate":50000}'