跳到主要内容

Resolver

Resolver 可以处理来自kafka等消息队列的消息。

Manifest定义

请参考messageQueueConsumer

modules:
messageQueueConsumer:
- key: mq-queue-consumer
# Name of the queue for which this consumer will be invoked
queue: queue-name
# 消息的来源,对应下方的messageQueues
messageQueue: bcc-kafka
# 可选,对消息体数据进行转换
messageTransformer:
tenant: $.tenant
data:
name: $.name
resolver:
function: consumer-function
method: event-listener
function:
- key: consumer-function
handler: consumer.handler

messageQueues:
- key: bcc-kafka
type: kafka
endpoint: gitee-kafka:9092

resolver 中的 function 指向 function 模块中的key

警告

每一个模块只能对应一个resolver function,但是一个resolver function可以定义多个method

resolver中的method则对应执行函数中定义的方法。参考下方resolver方法的定义。

定义resolver函数

import { Resolver } from "@giteeteam/apps-api";

const resolver = new Resolver();

resolver.define("event-listener", async ({ payload }) => {
// process the event

});
resolver.define("event-listener-2", async ({ payload }) => {
// process the event
});

export const handler = resolver.getDefinitions();