zoukankan      html  css  js  c++  java
  • 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.

    • arguments fields 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: 0

      Note: you must specify application/json as 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: 0

      Note: 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

    GETPUTDELETEPOSTPathDescription
    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 Location header telling you the URI of your new binding.
    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

  • 相关阅读:
    C#枚举扩展方法,获取枚举值的描述值以及获取一个枚举类下面所有的元素
    C#对IQueryable<T>、IEnumerable<T>的扩展方法
    C#常用处理数据类型转换、数据源转换、数制转换、编码转换相关的扩展
    C#常用8种排序算法实现以及原理简介
    身份证号合法性验证,支持15位和18位身份证号,支持地址编码、出生日期、校验位验证
    C#检验参数合法性公用方法
    MVC中得到成员元数据的Description特性描述信息公用方法
    把对象类型转换成指定的类型帮助类方法
    C#操作图片帮助类
    C#执行Dos命令公用方法
  • 原文地址:https://www.cnblogs.com/davidwang456/p/4062020.html
Copyright © 2011-2022 走看看