RabbitMQ Management HTTP API--官方文档
Introduction
Apart from this help page, all URIs will serve only resources of type application/json, and will require HTTP basic authentication (using the standard RabbitMQ user database). The default user is guest/guest.
Many URIs require the name of a virtual host as part of the path, since names only uniquely identify objects within a virtual host. As the default virtual host is called "/", this will need to be encoded as "%2f".
PUTing a resource creates it. The JSON object you upload must have certain keys (documented below). Other keys are ignored. Missing keys consitute an error.
Since bindings do not have names or IDs in AMQP we synthesise one based on all its properties. Since predicting this name is hard in the general case, you can also create bindings by POSTing to a factory URI. See the example below.
Caveats
These caveats apply to the current development version of the management API. In future they will be fixed.
argumentsfields are ignored everywhere. You cannot create a queue, exchange or binding with arguments. Queues, exchanges or bindings with arguments won't show those arguments.- Permissions are only enforced sporadically. If a user can authenticate with the HTTP API, they can do anything.
- There are many monitoring-related information items in the objects returned from GET requests. They are undocumented and subject to change.
Examples
A few quick examples, using the Unix command line tool curl:
- Get a list of vhosts:
$ 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 ["/"] - Create a new vhost:
$ 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: 0Note: you must specify
application/jsonas the mime type.Note: the name of the object is not needed in the JSON object uploaded, since it is in the URI. As a virtual host has no properties apart from its name, this means you do not need to specify a body at all!
- Create a new exchange in the default virtual host:
$ 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: 0Note: we never return a body in response to a PUT or DELETE, unless it fails.
- And delete it again:
$ 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
Reference
| GET | PUT | DELETE | POST | Path | Description |
|---|---|---|---|---|---|
| X | /api/overview | Various random bits of information that describe the whole system. | |||
| X | /api/connections | A list of all open connections. | |||
| X | X | /api/connections/name | An individual connection. DELETEing it will close the connection. | ||
| X | /api/channels | A list of all open channels. | |||
| X | /api/channels/channel | Details about an individual channel. | |||
| X | /api/exchanges | A list of all exchanges. | |||
| X | /api/exchanges/vhost | A list of all exchanges in a given virtual host. | |||
| X | X | X | /api/exchanges/vhost/name | An individual exchange. To PUT an exchange, you will need a body looking something like this:
{"type":"direct","auto_delete":false,"durable":true,"arguments":[]}
|
|
| X | /api/exchanges/vhost/name/bindings | A list of all bindings on a given exchange. | |||
| X | /api/queues | A list of all queues. | |||
| X | /api/queues/vhost | A list of all queues in a given virtual host. | |||
| X | X | X | /api/queues/vhost/name | An individual queue. To PUT a queue, you will need a body looking something like this:
{"auto_delete":false,"durable":true,"arguments":[]}
|
|
| X | /api/queues/vhost/queue/bindings | A list of all bindings on a given queue. | |||
| X | /api/bindings | A list of all bindings. | |||
| X | /api/bindings/vhost | A list of all bindings in a given virtual host. | |||
| X | X | /api/bindings/vhost/queue/exchange | A list of all bindings between a queue and an exchange. Remember, a queue and an exchange can be bound together many times! To create a new binding, POST to this URI. You will need a body looking something like this:
{"routing_key":"my_routing_key","arguments":[]}
The response will contain a |
||
| X | X | X | /api/bindings/vhost/queue/exchange/props | An individual binding between a queue and an exchange. The props part of the URI is a "name" for the binding composed of its routing key and properties. While you can create a binding by PUTing to this URI, it may be more convenient to POST to the URI above. | |
| X | /api/vhosts | A list of all vhosts. | |||
| X | X | X | /api/vhosts/name | An individual virtual host. As a virtual host only has a name, you do not need an HTTP body when PUTing one of these. | |
| X | /api/users | A list of all users. | |||
| X | X | X | /api/users/name | An individual user. To PUT a user, you will need a body looking something like this:
{"password":"secret"}
|
|
| X | /api/users/user/permissions | A list of all permissions for a given user. | |||
| X | /api/permissions | A list of all permissions for all users. | |||
| X | X | X | /api/permissions/vhost/user | An individual permission of a user and virtual host. To PUT a permission, you will need a body looking something like this:
{"scope":"client","configure":".*","write":".*","read":".*"}
|
原文地址:http://hg.rabbitmq.com/rabbitmq-management/raw-file/3646dee55e02/priv/www-api/help.html
RabbitMQ Management HTTP API--官方文档的更多相关文章
- SolrJ API 官方文档最佳实践
以下内容译自Solr Wiki官方文档,版权没有,随意转载. Solrj 是一个访问solr的Java客户端.它提供了一个java接口用于添加更新和查询solr索引.本页面介绍SolrJ最新版本1.4 ...
- 【Android API】Android 4.1 API官方文档详解
原文:http://android.eoe.cn/topic/summary 翻译:[eoeAndroid原创团队]kris.流风而逝.贼寇在何方.snowxwyo.lsy4833406 更新日期:2 ...
- 《Spark Python API 官方文档中文版》 之 pyspark.sql (一)
摘要:在Spark开发中,由于需要用Python实现,发现API与Scala的略有不同,而Python API的中文资料相对很少.每次去查英文版API的说明相对比较慢,还是中文版比较容易get到所需, ...
- 《Spark Python API 官方文档中文版》 之 pyspark.sql (二)
摘要:在Spark开发中,由于需要用Python实现,发现API与Scala的略有不同,而Python API的中文资料相对很少.每次去查英文版API的说明相对比较慢,还是中文版比较容易get到所需, ...
- 《Spark Python API 官方文档中文版》 之 pyspark.sql (四)
摘要:在Spark开发中,由于需要用Python实现,发现API与Scala的略有不同,而Python API的中文资料相对很少.每次去查英文版API的说明相对比较慢,还是中文版比较容易get到所需, ...
- 《Spark Python API 官方文档中文版》 之 pyspark.sql (三)
摘要:在Spark开发中,由于需要用Python实现,发现API与Scala的略有不同,而Python API的中文资料相对很少.每次去查英文版API的说明相对比较慢,还是中文版比较容易get到所需, ...
- Restful API官方文档
理解Restful架构:http://www.ruanyifeng.com/blog/2011/09/restful RESTful设计指南:http://www.ruanyifeng.com/blo ...
- Search API 官方文档 可以用了查看自己的app
Search API October 24, 2012 - HTTPS is now supported for Search and Lookup requests. Please update y ...
- ElasticSearch(6.2.2)的java API官方文档的总结 (三)
一 : SearchRequest用于任何与搜索文档,聚合和建议有关的操作,并且还提供了对生成的文档进行高亮显示的方法. 在最基本的形式中,我们可以向请求添加一个查询: 1:添加一个Search ...
- lua api 官方文档 函数后面的方括号 说明 [-0, +0, –]
本博客注有“转”字样的为转载文章,其余为本人原创文章,转载请务必注明出处或保存此段.c++/lua/windows逆向交流群:69148232 每一个lua api 函数结尾都给出了这样的说明例如: ...
随机推荐
- 那些年被我坑过的Python——不得不知(第二章)
问题一: Python3.5.X中的数据类型有哪些? 答:包括整型.布尔型.字符串型.浮点型.复数.列表.字典.集合.元组. 细化来说: 1.整型包括短整型和长整型,不过我们不必过度操心细节,因为短整 ...
- Python Tutorial 学习(三)--An Informal Introduction to Python
3.1. 将Python用作计算器 3.1.1. Numbers 数 作为一个计算器,python支持简单的操作, '+','-','*','/'地球人都知道的加减乘除. ()可以用来改变优先级,同数 ...
- 快速访问WCF服务--ServiceModel 元数据实用工具 (Svcutil.exe)
基本定义 ServiceModel 元数据实用工具用于依据元数据文档生成服务模型代码,以及依据服务模型代码生成元数据文档. SvcUtil.exe ServiceModel 元数据实用工具可在 Win ...
- %s的用法
%s 正常输出字符串printf("%s\n", "abcd"); //normal output abcd %8s 最少输出8位长度的字符串,不够在字符串左侧 ...
- Vim的学习心得
现在的工作是在unix平台,平时是用UE的ftp功能来写代码的,有时候文件大了,传输就很慢,而且经常不是很稳定.下定决心要学学Vim(现在应该没有人用原始的vi了吧),在经过二周的使用后,发现Vim实 ...
- E题 - A+B for Input-Output Practice (IV)
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description You ...
- Java中的多线程总结(转)
1.多线程概述 当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程.主要以下几个优点: 线程之间很容易实现共享内存 创建线程代价较小 Java语言内置多线程功能支持 2.线 ...
- windows C 与 linux C区别?
windows C库格式为 .dll( 动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件). ...
- bzoj3280
bzoj1221的变形版本,弄懂1221,这题还是很简单的 ; type node=record point,next,flow,cost:longint; end; ..] ...
- 「Poetize5」GF弹钢琴
描述 Description 现在PianoEater有一架有52个白键和 36个黑键的钢琴,并且他要弹奏的曲子只需要按白键.在同一时刻,他只用弹奏一个音符.如果这个音符不移动大拇指就可以按到,那么他 ...