cloudamqp/amqpcatamqpcat 是一款针对 AMQP 协议的命令行工具,相当于 AMQP 版本的 netcat(nc)工具。它提供简洁的命令行界面,用于向 AMQP 服务器发布消息(生产者模式)和从 AMQP 服务器消费消息(消费者模式),适用于消息测试、集成脚本和自动化流程。
通过 Docker 运行 amqpcat:
bashdocker run -it --rm cloudamqp/amqpcat
说明:
-it启用交互模式,--rm确保容器退出后自动清理
Usage: amqpcat [arguments] -P, --producer 生产者模式,从标准输入读取,每行作为新消息 -C, --consumer 消费者模式,消息体写入标准输出 -u URI, --uri=URI AMQP 服务器连接 URI -e EXCHANGE, --exchange=EXCHANGE 交换器名称 -r ROUTINGKEY, --routing-key=KEY 发布消息时的路由键 -q QUEUE, --queue=QUEUE 消费消息的队列 -f FORMAT, --format=FORMAT 格式化字符串(默认 "%s\n") %e: 交换器名称 %r: 路由键 %s: 消息体(字符串形式) \n: 换行符 \t: 制表符 -v, --version 显示版本信息 -h, --help 显示帮助信息
向名为 test 的队列发送消息:
bashecho "Hello World" | docker run -i --rm cloudamqp/amqpcat --producer --uri=$CLOUDAMQP_URL --queue test
说明:
-i确保标准输入传递到容器,--queue指定目标队列
从名为 test 的队列消费消息:
bashdocker run -it --rm cloudamqp/amqpcat --consumer --uri=$CLOUDAMQP_URL --queue test
从临时队列消费发送到 amq.topic 交换器且路由键为 hello.world 的消息:
bashdocker run -it --rm cloudamqp/amqpcat --consumer --uri=$CLOUDAMQP_URL --exchange amq.topic --routing-key hello.world
消费消息并以 CSV 格式输出到文件:
bashdocker run -it --rm cloudamqp/amqpcat --consumer --uri=$CLOUDAMQP_URL --queue test --format "%e,%r,"%s"\n" | tee messages.csv
实时跟踪系统日志并发送到 syslog 交换器:
bashtail -f /var/log/syslog | docker run -i --rm cloudamqp/amqpcat --producer --uri=$CLOUDAMQP_URL --exchange syslog --routing-key $HOSTNAME
消费 JSON 消息并使用 jq 提取属性:
bashdocker run -it --rm cloudamqp/amqpcat --consumer --uri=$CLOUDAMQP_URL --queue json | jq .property

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务