RabbitMQ 教程

HTTP API 管理 Policy 策略

前面章节分别介绍了怎样使用 rabbitmq-management 插件和 rabbitmqctl 命令工具管理 Policy。下面将继续介绍怎样使用 HTTP API 实现 Policy 管理。

注意:通过 Postman 调用 RabbitMQ 提供的 HTTP API

设置 Policy 策略

使用 HTTP 的 PUT 方法访问接口,设置一个 Policy 到 RabbitMQ。创建 Policy 的主体部分格式如下:

{
    "pattern": "^amq.",
    "definition": {
        "federation-upstream-set":"all"
    },
    "priority":0, 
    "apply-to": "all"
}

示例:在 vhost2 虚拟机下面创建一个名为 myPolicy 的 Policy,该 Policy 优先级为 1,模式为“^policy.+”,仅仅应用到队列。如下图:

注意:调用需要授权哦!!依然使用 HTTP 基本方式授权,用户名和密码均为 guest。

列出 Policy 策略

使用 HTTP 的 GET 方法访问接口,获取默认虚拟主机下面所有的 Policy。如下图:

(1)获取所有虚拟机下面所有的 Policy,使用如下 URL 地址:

http://127.0.0.1:15672/api/policies

运行效果如下图:

(2)获取名为 vhost1 的虚拟机下面所有的 Policy,使用如下 URL 地址:

http://127.0.0.1:15672/api/policies/vhost1

运行效果如下图:

(3)获取名为 vhost1 的虚拟机下面名为 policyDemo 的 Policy,使用如下 URL 地址:

http://127.0.0.1:15672/api/policies/vhost1/policyDemo

运行效果如下图:

清除 Policy 策略

使用 HTTP 的 DELETE 方法访问接口,清理指定的 Policy。

示例:清理名为 vhost2 虚拟机下面名为 policyDemo 的 Policy。使用如下URL 地址:

http://127.0.0.1:15672/api/policies/vhost2/myPolicy

运行效果如下图:

如果有两个或多个 Policy 都作用到同一个交换器或者队列上,且这些 Policy 的优先级都是一样的,则参数项最多的 Policy 优先。如果参数一样多,则最后添加的 Policy 优先。

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号