关联已有的 CMQ Topic

该例子中,我们通过 serverless.yml 创建了一个名为 cmq_trigger 的 CMQ 触发器,并且关联了一个名为 test-topic 的 CMQ Topic,每次这个 Topic 收到消息后,函数都会被调用。详情可以参考 CMQ 触发器概述

  1. functions:
  2. hello_world:
  3. handler: index.main_handler
  4. runtime: Nodejs8.9
  5. events:
  6. - cmq:
  7. name: cmq_trigger
  8. parameters:
  9. name: test-topic
  10. enable: true

注: CMQ 触发器默认开启。

CMQ Topic 触发器的事件消息结构

在指定的 CMQ Topic 主题队列接受到消息时,会将类似以下的 JSON 格式事件数据发送给绑定的 SCF 函数。

  1. {
  2. "Records": [
  3. {
  4. "CMQ": {
  5. "type": "topic",
  6. "topicOwner":120xxxxx,
  7. "topicName": "testtopic",
  8. "subscriptionName":"xxxxxx",
  9. "publishTime": "1970-01-01T00:00:00.000Z",
  10. "msgId": "123345346",
  11. "requestId":"123345346",
  12. "msgBody": "Hello from CMQ!",
  13. "msgTag": ["tag1","tag2"]
  14. }
  15. }
  16. ]
  17. }