根據文檔https://console.ng.bluemix.net/docs/services/MessageHub/index.html#messagehub應該可以通過REST向MessageHub提交消息並通過MQLight客戶端接收消息。但是文檔缺乏一個例子,並且有點......不透明。在bluemix消息中心上,如何在休息和mqlight客戶端之間交換消息?
所以,如果我創建MQLight話題,並有一個Python客戶端偵聽,
import json
import logging
import mqlight
import time
amqps = 'amqps://xxxxxxxxxxxxx.messagehub.services.us-south.bluemix.net:5671'
options = {
'user' : 'xxxxxxxxxxxxxxxx',
'password' : 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
}
def on_message(message_type, data, delivery):
d = json.loads(data)
print str(d)
def on_started(err):
client.subscribe('test', on_message = on_message)
def on_stopped(err):
logging.info('stopped')
client = mqlight.Client(amqps, security_options = options, client_id = 'client', on_started=on_started)
while True:
logging.info(str(client.get_state()))
time.sleep(5)
我將如何通過捲曲發佈的消息。我都試過了,其中值字符串是base64編碼,
curl -i \
-X POST \
-H "X-Auth-Token:${APIKEY}" \
-H "Content-Type: application/vnd.kafka.binary.v1+json" \
--data '{"records":[{"value":"S2Fma2E="}]}' \
"https://kafka-rest-prod01.messagehub.services.us-south.bluemix.net:443/topics/MQLight/test"
但回報,
{"error_code":404,"message":"HTTP 404 Not Found"}