[AIX][Windows][Linux]

DEFINE CHANNEL (MQTT)

使用 DEFINE CHANNEL 指令時遙測通道的語法圖。

使用 MQSC 指令

如需如何使用 MQSC 指令的相關資訊,請參閱 使用 MQSC 指令執行本端管理作業

DEFINE CHANNEL (MQTT)

讀取語法圖跳過視覺化語法圖 DEFINE CHANNEL ( 通道名稱 ) CHLTYPE ( MQTT ) BACKLOG(4096)BACKLOG(整數)JAASCFG(' ')JAASCFG()LOCLADDR(' ')LOCLADDR()MCAUSER (' ')MCAUSER()PORT(1883)PORT(整數)PROTOCOL(MQTTV311,MQTTV3,HTTP)PROTOCOL(MQTTV311)PROTOCOL(MQTTV3)PROTOCOL(HTTP)SSLCAUTH(NEVER)SSLCAUTH(OPTIONAL)SSLCAUTH(REQUIRED)SSLCIPH(' ')SSLCIPH()SSLKEYP(' ')SSLKEYP()SSLKEYR(' ')SSLKEYR()TRPTYPE(TCP)USECLTID(NO)USECLTID(YES)

使用注意事項

當您發出此指令時,遙測 (MQXR) 服務必須在執行中。 如需如何啟動遙測 (MQXR) 服務的指示,請參閱 Linux® 上配置遙測的佇列管理程式 Windows 上配置遙測的佇列管理程式

DEFINE CHANNEL 的參數說明 (MQTT)

(通道名稱)

新通道定義的名稱。

此名稱不得與此佇列管理程式上定義的任何現有通道相同 (除非指定 REPLACEALTER )。

字串的長度上限為 20 個字元,且字串必須只包含有效字元; 請參閱 IBM® MQ 物件的命名規則

BACKLOG (integer)

這是遙測通道在任何時刻可支援的未完成連線要求數目。 達到待辦事項限制時,將會拒絕嘗試連接的任何進一步的用戶端連線,直到已處理現行待辦事項為止。

該值在 0-999999999 範圍內。

預設值為 4096。

CHLTYPE

通道類型。 MQTT (遙測) 通道。

JAASCFG (string)

JAAS 配置檔中段落的名稱。

請參閱 使用 JAAS 鑑別 MQTT 用戶端 Java 應用程式

LOCLADDR (ip-addr)

LOCLADDR 是通道的本端通訊位址。 如果您要強制用戶端使用特定 IP 位址,請使用此參數。 LOCLADDR 也有助於強制通道使用 IPv4IPv6 位址 (如果有選項可用) ,或在具有多個網路配接卡的系統上使用特定網路配接卡。

LOCLADDR 的長度上限為 MQ_LOCAL_ADDRESS_LENGTH

如果您省略 LOCLADDR,則會自動配置本端位址。

ip-addr
ip-addr 是單一網址,以三種形式之一指定:
IPv4 帶點十進位
例如 192.0.2.1
IPv6 進位表示法
例如 2001:DB8:0:0:0:0:0:0
英數主機名稱格式
例如 WWW.EXAMPLE.COM

如果輸入 IP 位址,則只會驗證位址格式。 不會驗證 IP 位址本身。

MCAUSER (string)

訊息通道代理程式使用者 ID。

字串的長度上限為 12 個字元。 在 Windows 上,您可以選擇性地使用 user@domain 格式的網域名稱來限定使用者 ID。

如果此參數非空白,且 USECLNTID 設為 NO,則遙測服務會使用此使用者 ID 來授權存取 IBM MQ 資源。

如果此參數空白,且 USECLNTID 設為 NO,則會使用在 MQTT CONNECT 封包中流動的使用者名稱。 請參閱 MQTT 用戶端身分及授權

埠 (integer)

遙測 (MQXR) 服務在其上接受用戶端連線的埠號。 遙測通道的預設埠號是 1883; 使用 SSL 保護的遙測通道的預設埠號是 8883。 指定埠值 0 會導致 MQTT 動態配置可用的埠號。

PROTOCOL
通道支援下列通訊協定:
MQTTV311
通道會使用 MQTT 3.1.1 Oasis 標準所定義的通訊協定來接受來自用戶端的連線。 此通訊協定提供的功能幾乎與預先存在的 MQTTV3 通訊協定提供的功能相同。
MQTTV3
通道接受來自用戶端使用 mqtt.org中 MQTT V3.1 通訊協定規格 的連線。
HTTP
通道接受頁面的 HTTP 要求,或 MQ TelemetryWebSockets 連線。

若要接受來自使用不同通訊協定之用戶端的連線,請以逗點定界清單指定可接受的值。 例如,如果您指定 MQTTV3,HTTP ,則通道會接受使用 MQTTV3 或 HTTP 來自用戶端的連線。 如果您未指定任何用戶端通訊協定,通道會使用任何支援的通訊協定來接受來自用戶端的連線。

如果您是使用 IBM MQ 8.0.0 Fix Pack 3 或更新版本,且您的配置包括前次在舊版產品中修改的 MQTT 通道,則必須明確變更通訊協定設定,以提示通道使用 MQTTV311 選項。 即使通道未指定任何用戶端通訊協定,也是如此,因為配置通道時會儲存與通道搭配使用的特定通訊協定,且舊版產品沒有 MQTTV311 選項的狀態提示。 若要提示處於此狀態的通道使用 MQTTV311 選項,請明確新增該選項,然後儲存變更。 通道定義現在知道該選項。 如果您隨後再次變更設定,且未指定任何用戶端通訊協定,則 MQTTV311 選項仍包含在受支援通訊協定的儲存清單中。

SSLCAUTH
定義 IBM MQ 是否需要來自 TLS 用戶端的憑證。 通道的起始端會作為 TLS 用戶端,因此此參數會套用至接收起始流程 (作為 TLS 伺服器) 的通道結尾。
Never
IBM MQ 絕不會從 TLS 用戶端要求憑證。
必要
IBM MQ 需要並驗證來自 TLS 用戶端的憑證。
選用項目
IBM MQ 可讓 TLS 用戶端決定是否提供憑證。 如果用戶端傳送憑證,則會正常驗證此憑證的內容。
SSLCIPH(字串)

SSLCIPH 與遙測通道搭配使用時,它表示「TLS 密碼組合」。 TLS 密碼組合是執行遙測 (MQXR) 服務的 JVM 所支援的密碼組合。 如果 SSLCIPH 參數空白,則不會嘗試在通道上使用 TLS。

如果您計劃使用 SHA-2 密碼組合,請參閱 將 SHA-2 密碼組合與 MQTT 通道搭配使用的系統需求

SSLKEYP (string)

TLS 金鑰儲存庫的通行詞組。

SSLKEYR (string)

TLS 金鑰儲存庫檔案的完整路徑名稱,數位憑證及其相關聯私密金鑰的儲存庫。 如果未指定金鑰檔,則不使用 TLS。

字串長度上限為 256 個字元;
  • [AIX][Linux]AIX®Linux上,名稱的格式為 pathname/keyfile
  • [Windows]Windows上,名稱的格式為 pathname\keyfile
其中 keyfile 是在沒有字尾 .jks的情況下指定,並識別 Java 金鑰儲存庫檔。
TRPTYPE (string)
要使用的傳輸通訊協定:
TCP
TCP/IP。
USECLTID

決定是否要使用新連線的 MQTT 用戶端 ID 作為該連線的 IBM MQ 使用者 ID。 如果已指定此內容,則會忽略用戶端提供的使用者名稱。

如果您將此參數設為 YES,則 MCAUSER 必須為空白。

如果 USECLNTID 設為 NO,且 MCAUSER 為空白,則會使用在 MQTT CONNECT 封包中流動的使用者名稱。 請參閱 MQTT 用戶端身分及授權