egg-ons-http

1.0.2 • Public • Published

egg-ons-http

NPM version build status Test coverage David deps Known Vulnerabilities npm download

aliyun ons http plugin for egg

Install

$ npm i egg-ons-http --save

Usage

// {app_root}/config/plugin.js
exports.onsHttp = {
  enable: true,
  package: 'egg-ons-http',
};

Configuration

// {app_root}/config/config.default.js
exports.ons = {
  default: {
    accessKey: 'your-accessKey',
    secretKey: 'your-secretKey',
    instanceId:'', // 公网实例不要填,会报权限问题
    // onsAddr: 'http://.mqrest.cn-qingdao-public.aliyuncs.com', // 使用http接入地址
  },
  sub: [{
    consumerGroup: 'your-consumer-group',
    topics: [
      'your-topic',
    ],
  }],
  pub: [{
    topics: [
      'your-topic',
    ],
  }],
};

see config/config.default.js for more detail.

Example

Consumer

put your subscription codes under the folder {app_root}/app/ons and named as the topic name e.g TP_NAME.js

.
├── app
│   ├── ons
│   │   └── TP_NAME.js
│   ├── public
│   └── router.js
├── config
│   └── config.default.js
├── package.json

you should implment a subscriber as blow

// TP_NAME.js
'use strict';

class TestSubscriber {
  constructor(ctx) {
    this.ctx = ctx;
  }

  * subscribe(msg) {
    yield this.ctx.service.messageService.process(msg);
  }

  static get subExpression() {
    return 'TagA';
  }
}

module.exports = TestSubscriber;

see RPC for more detail.

Producer

using app.ons / ctx.ons to create & send messages

const Message = ctx.ons.Message;
const msg = new Message('TP_NAME', // topic
  'TagA', // tag
  'Hello ONS !!!' // body
);
const sendResult = yield ctx.ons.send(msg);

License

MIT

Package Sidebar

Install

npm i egg-ons-http

Weekly Downloads

0

Version

1.0.2

License

MIT

Unpacked Size

11.1 kB

Total Files

9

Last publish

Collaborators

  • wmtcore