触发器相关命令

FC组件是一款基于Serverless Devs的阿里云函数计算操作工具,通过该工具,您可以直接通过交互式命令使用触发器相关的API。

前提条件

创建触发器

命令格式:

sudo s cli fc api CreateTrigger --region <regionid> --access <accessname> --apiVersion <20210406 or 20160815> --path '{"serviceName": "serviceName","functionName": "functionName"}' --body '{"invocationRole": "role","qualifier": "version or alias","sourceArn": "ARN","triggerName": "triggerName","triggerConfig": "triggerconfig","triggerType": "triggertype"}'

参数说明:

  • (必选)--region string:指定部署资源的地域。

  • (可选)--access string-a string:指定使用的密钥别名。

  • (可选)--apiVersion:指定API版本。取值包括2021040620160815

  • path

    • (必选)--serviceName string:指定服务名称。

    • (必选)--functionName string:指定函数名称。

  • body

    • (可选)--qualifier string:指定服务的别名或版本。

    • (必选)--invocationRole string:触发器调用函数时所需的角色。

    • (必选)--sourceArn string:触发器事件源的ARN。

    • (必选)--triggerConfig string:触发器配置。

    • (必选)--triggerName string:指定触发器名称。

    • (必选)--triggerType string:指定触发器类型。触发器类型支持OSS触发器、日志服务触发器、定时触发器、HTTP触发器、Tablestore触发器、CDN事件触发器和MNS主题触发器。

执行示例:

  • macOS操作系统或Linux操作系统

    sudo s cli fc api CreateTrigger --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest"}' --body '{"triggerName": "mytrigger","triggerConfig": {"payload": "", "cronExpression": "@every 1m", "enable": true},"triggerType": "timer"}'
  • Windows操作系统

    s cli fc api CreateTrigger --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest"}' --body '{"triggerName": "mytrigger","triggerConfig": {\"payload\": \"\", \"cronExpression\": \"@every 1m\", \"enable\": true},"triggerType": "timer"}'

关于创建触发器的API接口的详细信息,请参见CreateTrigger

删除触发器

命令格式:

sudo s cli fc api DeleteTrigger --region <regionid> --access <accessname> --apiVersion <20210406 or 20160815> --path '{"serviceName": "serviceName","functionName": "functionName","triggerName": "triggerName"}' --header '{"If-Match": "testName"}'

参数说明:

  • (必选)--region string:指定部署资源的地域。

  • (可选)--access string-a string:指定使用的密钥别名。

  • (可选)--apiVersion:指定API版本。取值包括2021040620160815

  • path

    • (必选)--serviceName string:指定服务名称。

    • (必选)--functionName string:指定函数名称。

    • (必选)--triggerName string:指定触发器名称。

  • header

    • (可选)--If-Match string:用于确保实际更改的资源与期望更改的资源一致。

执行示例:

sudo s cli fc api DeleteTrigger --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest","triggerName": "mytrigger"}'

关于删除触发器的API接口的详细信息,请参见DeleteTrigger

更新触发器

命令格式:

sudo s cli fc api UpdateTrigger --region <regionid> --access <accessname> --apiVersion <20210406 or 20160815> --path '{"serviceName": "serviceName","functionName": "functionName","triggerName": "triggerName"}' --body '{"invocationRole": "role","qualifier": "version or alias","triggerConfig": {"payload": "", "cronExpression": "cronExpression", "enable": "true or false"}}' --header '{"If-Match": "test"}'

参数说明:

  • (必选)--region string:指定部署资源的地域。

  • (可选)--access string-a string:指定使用的密钥别名。

  • (可选)--apiVersion:指定API版本。取值包括2021040620160815

  • path

    • (必选)--serviceName string:指定服务名称。

    • (必选)--functionName string:指定函数名称。

    • (必选)--triggerName string:指定触发器名称。

  • body

    • (必选)--invocationRole string:触发器调用函数时所需的角色。

    • (可选)--qualifier string:指定服务的别名或版本。

    • (必选)--triggerConfig string:触发器配置。

  • header

    • (可选)--If-Match string:用于确保实际更改的资源与期望更改的资源一致。

执行示例:

  • macOS操作系统或Linux操作系统

    sudo s cli fc api UpdateTrigger --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest","triggerName": "mytrigger"}' --body '{"triggerConfig": {"payload": "", "cronExpression": "@every 1m", "enable": false}}'
  • Windows操作系统

    s cli fc api UpdateTrigger --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest","triggerName": "mytrigger"}' --body '{"triggerConfig": {\"payload\": \"\", \"cronExpression\": \"@every 1m\", \"enable\": false}}'

关于更新触发器的API接口的详细信息,请参见UpdateTrigger

获取触发器配置信息

命令格式:

sudo s cli fc api GetTrigger --region <regionid> --access <accessName> --apiVersion <20210406 or 20160815> --path '{"serviceName": "serviceName","functionName": "functionName","triggerName": "triggerName"}'

参数说明:

  • (必选)--region string:指定部署资源的地域。

  • (可选)--access string-a string:指定使用的密钥别名。

  • (可选)--apiVersion:指定API版本。取值包括2021040620160815

  • path

    • (必选)--serviceName string:指定服务名称。

    • (必选)--functionName string:指定函数名称。

    • (必选)--triggerName string:指定触发器名称。

执行示例:

sudo s cli fc api GetTrigger --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest","triggerName": "mytrigger"}'

关于获取触发器配置信息的API接口的详细信息,请参见GetTrigger

查询触发器列表

命令格式:

sudo s cli fc api ListTriggers --region <regionid> --access <accessname> --apiVersion <20210406 or 20160815> --path '{"serviceName": "serviceName","functionName": "functionName"}' --query '{"limit": "limit","nextToken": "nextToken","prefix": "prefix","startKey": "startKey"}'

参数说明:

  • (必选)--region string:指定部署资源的地域。

  • (可选)--access string-a string:指定使用的密钥别名。

  • (可选)--apiVersion:指定API版本。取值包括2021040620160815

  • path

    • (必选)--serviceName string:指定服务名称。

    • (必选)--functionName string:指定函数名称。

  • query

    • (可选)--limit string:设置限定此次返回资源的数量。

    • (可选)--nextToken string:设置用来返回更多结果的令牌。第一次查询时不需要提供这个参数,后续查询的Token从返回结果中获取。

    • (可选)--prefix string:设置返回资源的名称前缀。

    • (可选)--startKey string:设定结果从startKey之后(包括startKey)按字母排序的第一个开始返回。

执行示例:

sudo s cli fc api ListTriggers --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest"}'

关于查询触发器列表的API接口的详细信息,请参见ListTriggers