簡體   English   中英

使用 rabbitmqadmin 創建 RabbitMQ 隊列時返回“未找到”

[英]"Not found" returned when creating RabbitMQ queue using rabbitmqadmin

我需要從命令行創建一個 RabbitMQ 隊列。

  1. 我在 kubernetes 中有一個 RabbitMQ 設置。
  2. 我登錄到 RabbitMQ pod 並為我的版本 3.8.14 獲取 rabbitmqadmin
  3. 我運行這個:

./rabbitmqadmin -u user1 -p password1 -N rabbit@rabbitmq-0.rabbitmq.default.svc.cluster.local declare queue name=CompName.Player1

但是我沒有添加隊列:

**未找到:/api/queues/%2F/CompName.Player1

我嘗試了這些但沒有成功,rabbitmq 日志在運行這些 rabbitmqadmin 命令時也沒有顯示任何事件:

./rabbitmqadmin declare queue name=Test1

./rabbitmqadmin -u user1 -p password1 declare queue name=CompName.Player1

curl -i -u user1:password1 -H "content-type:application/json" -XPUT -d'{"durable":true}' http://localhost:15672/api/queues/%2f/CompName.Player1

通過管理 web UI 手動添加隊列有效,但它不是 kubernetes 解決方案的選項。

我知道了。 我認為在某個時候 API 端點已更新,因此所有調用必須 go 到 http://localhost:15672/rabbitmq/api。 這是導致問題的添加的配置行:

management.path_prefix = /rabbitmq

以下是工作示例:

./rabbitmqadmin -u user1 -p password1 --path-prefix=http://localhost:15672/rabbitmq declare queue name=CompName.Player1

curl -i -u user1:password1 -H "content-type:application/json" -XPUT -d'{"durable":true}' http://localhost:15672/rabbitmq/api/queues/%2f/CompName.Player1

這也有效:

import pika
import sys
connection = pika.BlockingConnection(
    pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='CompName.Player1', durable=True)
connection.close()```

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM