RabbitMQ管理HTTP API 翻译(一)

在安装RabbitMQ在本机Windows系统(win7)后,通过http://127.0.0.1:15672访问管理界面,首页最下方点击“HTTP API”查看官网文档。
在这里插入图片描述

一)介绍

除了这个帮助页面之外,所有URI只提供application/json类型的资源,并且需要HTTP基本身份验证(使用标准RabbitMQ用户数据库)。默认用户是guest/guest

许多URI要求将虚拟主机的名称作为路径的一部分,因为名称只能唯一地标识虚拟主机中的对象。由于默认虚拟主机名为“/”,因此需要将其编码为“%2F”。

通过PUTing在RabbitMQ服务器上创建资源。上传的JSON对象必须具有某些强制密钥(如下所述)并且可以具有可选密钥。其他密钥会被忽略。如果缺少强制密钥会构成错误。

当Binding在AMQP中没有名称或id时,RabbitMQ会根据其所有的属性合成一个名称或id。由于在一般情况下很难预测此名称,因此也可以通过POSTing到工厂的URI来创建Binding。请参阅下面的示例。

许多URI返回列表,这样的URI可以添加查询字符串参数sortsort_reverse。sort允许您选择要排序的主字段,如果设置为truesort_reverse将倒序排序。sort参数可以包含多个子字段然后用“.”分隔。
这允许您按所列项目的嵌套组件排序;不允许您按多个字段排序。请参阅下面的示例。
还可以使用columns参数限制每个项返回的信息。
这是由点分隔的子字段的逗号分隔列表,请参阅下面的示例。
大多数GET查询都为每个对象返回许多字段。本指南的第二部分将介绍这些内容。

二)示例

使用命令行工具curl为Windows和Unix提供几个快速示例:
1) 获取虚拟主机(vhost)列表:/api/vhosts

:: Windows
C:\> curl -i -u guest:guest http://localhost:15672/api/vhosts

# Unix
$ curl -i -u guest:guest http://localhost:15672/api/vhosts

HTTP/1.1 200 OK
cache-control: no-cache
content-length: 196
content-security-policy: default-src 'self'
content-type: application/json
date: Mon, 02 Sep 2019 07:51:49 GMT
server: Cowboy
vary: accept, accept-encoding, origin

[{"cluster_state":{"rabbit@localhost":"running"},"description":"Default virtual host" ... (remainder elided)

2)获取频道列表,首先快速发布,限制我们获取的信息项:/api/channels
有3个参数sort和sort_reverse和columns,columns应该是可有可无的。

:: Windows
C:\> curl -i -u guest:guest "http://localhost:15672/api/channels?sort=message_stats.publish_details.rate&sort_reverse=true&columns=name,message_stats.publish_details.rate,message_stats.deliver_get_details.rate"

# Unix
$ curl -i -u guest:guest 'http://localhost:15672/api/channels?sort=message_stats.publish_details.rate&sort_reverse=true&columns=name,message_stats.publish_details.rate,message_stats.deliver_get_details.rate'

HTTP/1.1 200 OK
cache-control: no-cache
content-length: 2
content-security-policy: default-src 'self'
content-type: application/json
date: Mon, 02 Sep 2019 07:54:35 GMT
server: Cowboy
vary: accept, accept-encoding, origin

[{"message_stats":{"publish_details":{"rate" ... (remainder elided)

三)创建一个虚拟主机:/api/vhosts/名称
例子中foo就是虚拟主机名称

:: Windows
C:\> curl -i -u guest:guest -H "content-type:application/json" ^
      -XPUT http://localhost:15672/api/vhosts/foo

# Unix
$ curl -i -u guest:guest -H "content-type:application/json" \
   -XPUT http://localhost:15672/api/vhosts/foo

HTTP/1.1 201 Created
content-length: 0
content-security-policy: default-src 'self'
date: Mon, 02 Sep 2019 07:55:24 GMT
server: Cowboy
vary: accept, accept-encoding, origin

注意:HTTP请求必须指定请求头的content-type为application/json。
注意:因为虚拟主机除了名称之外没有其他属性,这意味着您根本不需要指定实体!所以URI携带的JSON对象不需要对象名。
四)在默认的虚拟主机上创建一个Exchange即消息交换机:/api/exchanges/%2F/my-new-exchange

:: Windows
C:\> curl -i -u guest:guest -H "content-type:application/json" ^
       -XPUT -d"{""type"":""direct"",""durable"":true}" ^
       http://localhost:15672/api/exchanges/%2F/my-new-exchange

# Unix
$ curl -i -u guest:guest -H "content-type:application/json" \
    -XPUT -d'{"type":"direct","durable":true}' \
    http://localhost:15672/api/exchanges/%2F/my-new-exchange

HTTP/1.1 201 Created
content-length: 0
content-security-policy: default-src 'self'
date: Mon, 02 Sep 2019 07:56:06 GMT
server: Cowboy
vary: accept, accept-encoding, origin

注意: PUT 和 DELETE类型的请求不会返回任何东西,除非请求失败。
五)删除上一步的创建的消息交换机

:: Windows
C:\> curl -i -u guest:guest -H "content-type:application/json" ^
       -XDELETE http://localhost:15672/api/exchanges/%2F/my-new-exchange

# Unix
$ curl -i -u guest:guest -H "content-type:application/json" \
    -XDELETE http://localhost:15672/api/exchanges/%2F/my-new-exchange

HTTP/1.1 204 No Content
content-security-policy: default-src 'self'
date: Mon, 02 Sep 2019 07:56:59 GMT
server: Cowboy
vary: accept, accept-encoding, origin
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值