Anda kehilangan nama antrean:
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}'
di mana foo
adalah host virtual, dan my_queue
adalah nama antrean.
sebagai hasilnya:
[
{
"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"
}
]
EDIT
Jika Anda menggunakan vhost default:
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}'
Perhatikan bahwa sintaks tampaknya telah berubah dalam rilis yang lebih baru (dan dokumentasi API HTTP tampaknya tertinggal) dan bukannya requeue
pilih ack_mode
opsi perlu diatur, mis. "ack_mode"="ack_requeue_true"
Jadi contoh di atas untuk versi RabbitMQ saat ini adalah:
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}'
Saya berhasil memecahkan masalah. Kuncinya:
Saya tidak memiliki konfigurasi vhost.
RabbitMQ menggunakan notasi "/" untuk VHOST default.
"/" diterjemahkan menjadi %2F
di HTTP...
Jadi panggilan yang benar adalah:
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}'
Bagaimana memastikan database ClamAV mutakhir?
Bagaimana cara mendapatkan sistem operasi saat ini di MSBuild?