随笔 - 41  文章 - 7  trackbacks - 0
<2016年8月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用链接

留言簿

随笔分类

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

原文:http://hg.rabbitmq.com/rabbitmq-management/raw-file/3646dee55e02/priv/www-api/help.html

介绍

除了帮助页面,所有URIs只会服务application/json类型的资源,并且需要HTTP基础认证(使用标准RabbitMQ用户数据库). 默认用户是guest/guest.

大多数URIs需要虚拟主机名称作为其路径的一部分, 因为名称是虚拟主机的唯一标识符对象. 默认虚拟主机称为"/", 它需要编码为"%2f".

PUT一个资源会对其进行创建. 你上传的JSON对象必须有某个键keys (下面文档有描述),其它的键会被忽略. 缺失键会引发错误.

在AMQP中,由于绑定没有名称或IDs,因此我们基于其所有属性人工合成了一个. 

由于一般情况下很难预测这个名字, 你可以通过POST一个工厂URI来创建绑定.查看下面的例子.

注意事项

这些注意事项适用于当前管理AP的开发版本。在未来,他们将是固定的。
  • arguments 字段会被忽略.你不创建一个队列,交换器或使用参数进行绑定. 带有参数的队列,交换器或绑定也不会显示这些参数.
  • 权限偶尔才需要强制执行.如果一个用户能用HTTP API进行认证,那么它们可以做任何事情.
  • 从GET请求中返回的对象中包含许多与监控相关的信息. 它们是无证实的,并且将来可能要发生变化.

示例

下面有几个快速例子,它们使用了Unix命令行工具curl:

  • 获取虚拟主机列表:
    $ curl -i -u guest:guest http://localhost:55672/api/vhosts 
    HTTP/1.1 200 OK
    Server: MochiWeb/1.1 WebMachine/1.7 (participate in the frantic)
    Date: Tue, 31 Aug 2010 15:46:59 GMT
    Content-Type: application/json
    Content-Length: 5
    ["/"]
  • 创建一个新虚拟主机:
    $ curl -i -u guest:guest -H "content-type:application/json" \   -XPUT http://localhost:55672/api/vhosts/foo 
    HTTP/1.1 204 No Content
    Server: MochiWeb/1.1 WebMachine/1.7 (participate in the frantic)
    Date: Fri, 27 Aug 2010 16:56:00 GMT
    Content-Type: application/json
    Content-Length: 0

    注意: 你必须将mime类型指定为application/json.

    Note: 在上传的JSON对象中,对象名称是不需要的,因为它已经包含在了URI中. 由于一个虚拟主机除了名称外没有其它属性,这意味着你完全不需要指定一个body.

  • 在默认虚拟主机中创建一个新的交换器:
    $ curl -i -u guest:guest -H "content-type:application/json" \   -XPUT -d'{"type":"direct","auto_delete":false,"durable":true,"arguments":[]}' \   http://localhost:55672/api/exchanges/%2f/my-new-exchange 
    HTTP/1.1 204 No Content
    Server: MochiWeb/1.1 WebMachine/1.7 (participate in the frantic)
    Date: Fri, 27 Aug 2010 17:04:29 GMT
    Content-Type: application/json
    Content-Length: 0

    注意: 在PUT或DELETE的响应中, 除非失败了,否则我们绝不会返回一个body.

  • 再删除它:
    $ curl -i -u guest:guest -H "content-type:application/json" \   -XDELETE http://localhost:55672/api/exchanges/%2f/my-new-exchange 
    HTTP/1.1 204 No Content
    Server: MochiWeb/1.1 WebMachine/1.7 (participate in the frantic)
    Date: Fri, 27 Aug 2010 17:05:30 GMT
    Content-Type: application/json
    Content-Length: 0

参考


GETPUTDELETEPOSTPathDescription
X


/api/overview
描述整个系统的各种随机信息。
X


/api/connections所有打开连接的列表.
X
X
/api/connections/name一个单独的连接. DELETE它会导致连接关闭.
X


/api/channels所有打开通道的列表.
X


/api/channels/channel单个通道的详情.
X


/api/exchanges所有交换器的列表.
X


/api/exchanges/vhost指定虚拟主机中所有交换器列表.
XXX
/api/exchanges/vhost/name一个单独的交换器.要PUT一个交换器,你需要一些像下面这样的body:
{"type":"direct","auto_delete":false,"durable":true,"arguments":[]}
X


/api/exchanges/vhost/name/bindings指定交换器中的绑定列表.
X


/api/queues所有队列的列表.
X


/api/queues/vhost指定虚拟主机中所有队列列表.
XXX
/api/queues/vhost/name一个单独队列.要PUT一个队列, 你需要一些像下面这样的body:
{"auto_delete":false,"durable":true,"arguments":[]}
X


/api/queues/vhost/queue/bindings指定队列中的所有绑定列表.
X


/api/bindings所有绑定列表.
X


/api/bindings/vhost指定虚拟主机上的所有绑定列表.
X

X/api/bindings/vhost/queue/exchange队列和交换器之间的所有绑定列表. 记住,队列和交换器可以绑定多次!要创建一个新绑定, POST 这个URI.你需要一些像下面这样的body:
{"routing_key":"my_routing_key","arguments":[]}
响应会包含一个Location header,它会告诉你新绑定的URI.
XXX
/api/bindings/vhost/queue/exchange/props队列和交换器之间的单个绑定. URI的props部分是一个名称,用于由路由键和属性组成的绑定.你可以通过PUT这个URI来创建一个绑定,它比上面POST URI更方便.
X


/api/vhosts所有虚拟主机列表.
XXX
/api/vhosts/name单个虚拟主机.由于虚拟主机只有一个名称,因此在PUT时不需要body.
X


/api/users所有用户列表.
XXX
/api/users/name单个用户. 要PUT一个用户, 你需要一些像下面这样的body:
{"password":"secret"}
X


/api/users/user/permissions指定用户的所有权限列表.
X


/api/permissions所有用户的所有权限列表.
XXX
/api/permissions/vhost/user一个虚拟主机中某个用户的个人权限. 要PUT一个权限,你需要一些像下面这样的body:
{"scope":"client","configure":".*","write":".*","read":".*"}
posted on 2016-08-13 21:50 胡小军 阅读(7287) 评论(0)  编辑  收藏 所属分类: RabbitMQ

只有注册用户登录后才能发表评论。


网站导航: