:::info 请务必注意,阿里云消息队列会对 Topic 和 Queue 产生一定的费用。 :::
使用方式
在 f.yml
中配置函数和触发器。
service:
name: serverless-hello-world
provider:
name: aliyun
functions:
index:
handler: mns.handler
events:
- mq:
topic: test-topic
package:
artifact: code.zip
在 f deploy
后,即可。
:::info 注意,在阿里云下,midway faas 提供的默认消息队列格式为 JSON :::
开发支持
针对 MNS(mq) 触发器,我们提供了传入的事件类型定义。
import { FC } from '@midwayjs/faas';
export class MNSTriggerTest {
@Func('mns.handler')
async handler(event: FC.MNSEvent) {
// TODO
}
}
本地开发
使用 f invoke
命令进行触发。
f invoke -f [你的函数名]
本地测试
这里没有传 data,会默认通过 f.yml
获取触发器类型传入模拟数据。
// test
describe('/test/index.test.ts', () => {
it('invoke', async () => {
await invoke({
functionName: 'mnsTrigger',
});
});
});