发布不包含触发器的函数,这是最简单的类型,可以直接通过 event 手动触发参数,也可以在平台绑定其他触发器。

使用方式

f.yml 中配置函数,但是不配置 events 字段。

  1. service:
  2. name: midway-faas-examples
  3. provider:
  4. name: aliyun
  5. functions:
  6. emptyTrigger:
  7. handler: index.handler
  8. package:
  9. artifact: code.zip

f deploy 后,即可。

:::info 阿里云默认的 event 为 buffer,我们做了 JSON 格式化,如果是 JSON 格式,将会 JSON.parse。 :::

本地测试

示例地址:https://github.com/midwayjs/midway-faas-examples/tree/master/aliyun/demo-faas

  1. // test
  2. describe('/test/index.test.ts', () => {
  3. it('invoke', async () => {
  4. const result: any = await invoke({
  5. functionName: 'emptyTrigger',
  6. data: [ {
  7. name: 'faas' // json 格式的参数
  8. }],
  9. });
  10. assert(/hello world faas/.test(result)); // 字符串返回
  11. });
  12. });
  13. // index.ts
  14. async handler(event: {name: string}) {
  15. return 'hello world ' + event.name;
  16. }