COS 是腾讯云用于存储一些资源文件的服务。

使用方式

f.yml 中配置函数和触发器。

  1. service: midway-faas-examples
  2. provider:
  3. name: tencent
  4. functions:
  5. cosTrigger:
  6. handler: index.handler
  7. events:
  8. - os:
  9. bucket: cli-appid.cos.ap-beijing.myqcloud.com
  10. filter:
  11. prefix: filterdir/
  12. suffix: .jpg
  13. events: cos:ObjectCreated:*
  14. enable: false

f deploy 后,即可。

开发支持

针对 COS 触发器,我们提供了传入的事件类型定义。

  1. import { SCF } from '@midwayjs/faas';
  2. import { Func } from '@midwayjs/decorator';
  3. export class CMQTriggerTest {
  4. @Func('cos.handler')
  5. async handler(event: SCF.COSEvent) {
  6. // TODO
  7. }
  8. }

本地开发

使用 f invoke 命令进行触发。

  1. f invoke -f [你的函数名]

本地测试

这里没有传 data,会默认通过 f.yml 获取触发器类型传入模拟数据。

  1. // test
  2. describe('/test/index.test.ts', () => {
  3. it('invoke', async () => {
  4. await invoke({
  5. functionName: 'cosTrigger',
  6. });
  7. });
  8. });