创建或更新目标映射规则

作用

创建或更新目标映射规则。目标映射规则将 IBM® IoT MessageSight 主题或队列映射到 IBM MQ 主题或队列。

URI

使用具有以下 IBM IoT MessageSight 配置 URI 的 IBM IoT MessageSight REST API POST 方法:

http://<admin-endpoint-IP:Port>/ima/v1/configuration/

对象配置数据

使用以下模式在 POST 方法的有效内容中提供 DestinationMappingRule 对象配置数据。Content-type 设置为 application/json

{    
  "DestinationMappingRule": {
    "<NameOfDestinationMappingRule>": {
      "QueueManagerConnection": "string",
      "Enabled": true|false,
      "RuleType": integer,
      "Source": "string",
      "Destination": "string",
      "MaxMessages": integer,

      "RetainedMessages": true|false           
     }
   }
}

其中

NameOfDestinationMappingRule
这是必需属性。
指定目标映射规则的名称。在创建目标映射规则后,您无法更改此名称。
名称不得含有前导空格或结尾空格,并且不得包含控制字符、逗号、双引号、反斜杠或等号。第一个字符不得是数字或以下任意特殊字符:
! # $ % & ' ( ) * + - . / : ; < > ? @
QueueManagerConnection
指定一个或多个队列管理器连接的名称。队列管理器连接可以识别规则所映射到的队列管理器。您可以使用逗号分隔列表来指定多个队列管理器连接。
要保留消息顺序,必须为每个目标映射规则仅使用一个队列管理器连接。
如果您创建的多个目标映射规则具有相同的目标,但使用不同的队列管理器连接,那么不会保留消息顺序。
要编辑队列管理器连接,必须禁用使用该队列管理器连接的所有目标映射规则。无需重新启动 mqconnectivity 进程来使您所做的任何更改生效。
Enabled: true|false
指定目标映射规则处于启用 (true) 还是禁用 (false) 状态。
缺省值为 true。
要编辑目标映射规则,必须先禁用该规则。完成所有更改后,必须启用该规则以使任何更改生效。
RuleType
指定要使用的规则类型。
规则类型可以是以下表格中详细描述的任意值:
表 1. 规则类型
规则类型 从: 到:
1 IBM IoT MessageSight 主题 IBM MQ 队列
2 IBM IoT MessageSight 主题 IBM MQ 主题
3 IBM MQ 队列 IBM IoT MessageSight 主题
4 IBM MQ 主题 IBM IoT MessageSight 主题
5 IBM IoT MessageSight 主题子树 IBM MQ 队列
6 IBM IoT MessageSight 主题子树 IBM MQ 主题
7 IBM IoT MessageSight 主题子树 IBM MQ 主题子树
8 IBM MQ 主题子树 IBM IoT MessageSight 主题
9 IBM MQ 主题子树 IBM IoT MessageSight 主题子树
10 IBM IoT MessageSight 队列 IBM MQ 队列
11 IBM IoT MessageSight 队列 IBM MQ 主题
12 IBM MQ 队列 IBM IoT MessageSight 队列
13 IBM MQ 主题 IBM IoT MessageSight 队列
14 IBM MQ 主题子树 IBM IoT MessageSight 队列
为规则指定源主题字符串或队列。
指定的源必须遵循该源类型的命名规则。
对于 IBM MQ 队列,该值可以包含 a-z、A-Z 和 0-9 范围中的字符及以下任何字符:% . / _
对于 IBM IoT MessageSight,值一定不能包含开头空格或结尾空格,并且不能包含控制字符、逗号、双引号、反斜杠或等号。第一个字符一定不能是数字、引号或以下任一特殊字符:! # $ % & ( ) * + , - . / : ; < = > ? @"
Destination
指定规则的目标主题字符串或队列。
指定的目标必须遵循该目标类型的命名规则。
对于 IBM MQ 队列,该值可以包含 a-z、A-Z 和 0-9 范围中的字符及以下任何字符:% . / _
对于 IBM IoT MessageSight,值一定不能包含开头空格或结尾空格,并且不能包含控制字符、逗号、双引号、反斜杠或等号。第一个字符一定不能是数字、引号或以下任一特殊字符:! # $ % & ( ) * + , - . / : ; < = > ? @"
MaxMessages
指定可以为目标映射规则缓冲的最大消息数。
此选项仅针对从 IBM IoT MessageSight 主题到 IBM MQ 的目标映射规则有效。即,规则类型 1、2、5、6 和 7。
该值的范围必须是 1-20000000。
缺省值为 5000。
RetainedMessages: true|false
可选。
指定将哪些消息作为保留消息转发至主题。
该参数将覆盖原始消息发布程序的保留消息设置。
该选项仅对将消息转发至主题或主题子树的目标映射规则有效。
该值可以是下列任一值:
  • All
    将所有消息作为保留消息转发至主题。
  • None
    不将任何消息作为保留消息转发至主题。
缺省值为“无”。

用法说明

  • 您必须先禁用目标映射规则,然后才能对该规则进行任何更改。 编辑规则后,必须启用该目标映射规则以使更改生效。
  • 要编辑队列管理器连接,必须禁用使用该队列管理器连接的所有目标映射规则。无需重新启动 mqconn 进程即可使任何更改生效。

相关的 REST 管理 API

示例

使用以下 cURL 来创建名为 exampleRule 的目标映射规则:
curl -X POST \
   -H 'Content-Type: application/json'  \
   -d  '{     
         "DestinationMappingRule": {
           "exampleRule": {
            "QueueManagerConnection": "MyQMC",
            "RuleType": 1,
            "Source": "ISMRoot/Level1",
            "Destination": "Queue1",
            "MaxMessages": 7000,
            "Enabled": true,
            "RetainedMessages": true           
          }
        } 
      }
 '  \
http://127.0.0.1:9089/ima/v1/configuration/
POST 方法的响应示例:
{        
  "Version": "v1",
  "Code": "CWLNA6011",
  "Message": "The requested configuration change has completed successfully."
}



反馈

时间戳记图标 最近一次更新时间: 2017 年 9 月 28 日
http://pic.dhe.ibm.com/infocenter/ism/v1r0m0/com.ibm.ism.doc/Reference/MQConnCmd/cmd_create_update_dmr.html