函数工作流 FunctionGraph-创建触发器:请求参数

时间:2025-02-12 15:14:29

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

Content-Type

String

消息体的类型(格式)

缺省值:application/json

表3 请求Body参数

参数

是否必选

参数类型

描述

trigger_type_code

String

触发器类型。(当前OBS触发器暂不支持中国站。)

  • TIMER: 定时触发器。
  • APIG: APIGW触发器。
  • CTS : 云审计 触发器,需要先开通云审计服务。
  • DDS: 文档数据库触发器,需要开启函数vpc。
  • DMS: 分布式消息服务触发器,需要配置dms委托。
  • DIS: 数据接入服务 触发器,需要配置dis委托。
  • LTS: 云审计日志服务触发器,需要配置lts委托。
  • OBS: 对象存储服务 触发器。
  • KAFKA: 专享版本kafka触发器。

枚举值:

  • TIMER
  • APIG
  • CTS
  • DDS
  • DMS
  • DIS
  • LTS
  • OBS
  • SMN
  • KAFKA
  • RABBITMQ
  • DEDICATEDGATEWAY
  • OPENSOURCEKAFKA
  • APIC
  • GeminiDB Mongo
  • EVENTGRID
  • IOTDA

trigger_status

String

触发器状态,取值为ACTIVE,DISABLED。

枚举值:

  • ACTIVE
  • DISABLED

event_type_code

String

消息代码。

event_data

TriggerEventDataRequestBody object

触发器源事件。

表4 TriggerEventDataRequestBody

参数

是否必选

参数类型

描述

name

String

  • TIMER触发器:触发器名称
  • APIG触发器:API名称
  • CTS触发器:通知名称
  • OBS触发器:事件通知名称,默认值为触发器id

schedule_type

String

定时触发类型(TIMER触发器参数)。TIMER触发器此参数必填

  • Rate:指定固定频率(分钟、小时、天数)定期调用函数,单位为分钟时,输入值不能超过60;单位为小时时,输入值不能超过24;单位为天时,输入值不能超过30。
  • Cron:指定Cron表达式定期调用函数

枚举值:

  • Rate
  • Cron

schedule

String

定时触发规则(TIMER触发器参数)。TIMER触发器此参数必填。

  • 触发类型为Rate时对应定时规则
  • 触发类型为Cron时对应Cron表达式

user_event

String

附加信息(TIMER触发器参数)。 当Timer触发器触发函数执行时,执行事件(函数的event参数)为: {"version": "v1.0", "time": "2018-06-01T08:30:00+08:00", "trigger_type": "TIMER", "trigger_name": "Timer_001", "user_event": "您输入的附加信息"}

type

Integer

API接口类型(APIG触发器参数)。APIG触发器此参数必填。

  • 1:公有API
  • 2:私有API

path

String

APIG接口PATH路径(APIG触发器参数)。APIG触发器此参数必填。

protocol

String

API的请求协议(APIG触发器参数)。APIG触发器此参数必填。

枚举值:

  • HTTP
  • HTTPS

req_method

String

API的请求方式(APIG触发器参数)。APIG触发器此参数必填。

枚举值:

  • GET
  • POST
  • PUT
  • DELETE
  • HEAD
  • PATCH
  • OPTIONS
  • ANY

group_id

String

API所属的分组编号(APIG触发器参数)。APIG触发器此参数必填。

group_name

String

API所属的分组名称

match_mode

String

API的匹配方式(APIG触发器参数)。APIG触发器此参数必填。

  • SWA:前缀匹配
  • NORMAL:正常匹配(绝对匹配)

枚举值:

  • SWA
  • NORMAL

env_name

String

API的发布环境(APIG触发器参数)。APIG触发器此参数必填。

env_id

String

API的发布环境id(APIG触发器参数)。APIG触发器此参数必填。

auth

String

API的认证方式(APIG触发器参数)。APIG触发器此参数必填。

  • IAM:IAM认证,只允许IAM用户能访问,安全级别中等
  • APP:采用Appkey&Appsecret认证,安全级别高,推荐使用
  • NONE:无认证模式,所有用户均可访问,不推荐使用

枚举值:

  • IAM
  • APP
  • NONE

func_info

ApigTriggerFuncInfo object

APIG触发器 函数工作流 后端详情(APIG触发器参数)。APIG触发器此参数必填。

sl_domain

String

APIG系统默认分配的子 域名 (APIG触发器参数)。

最小长度:1

最大长度:255

backend_type

String

API的后端类型(APIG触发器参数)。

枚举值:

  • FUNCTION

operations

Array of strings

自定义操作(CTS触发器参数)。CTS触发器此参数必填。 CTS云审计服务类型和操作订阅所需要的事件通知,当CTS云审计服务获取已订阅的操作记录后,通过CTS触发器将采集到的操作记录作为参数传递来调用FunctionGraph函数。

instance_id

String

实例id。DDS、KAFKA、RABBITMQ触发器此参数必填。

  • APIG触发器:apig实例id
  • DDS触发器:文档数据库实例id
  • KAFKA触发器:KAFKA实例id
  • RABBITMQ触发器:RABBITMQ实例id

collection_name

String

集合名称(DDS触发器参数)。DDS触发器此参数必填。

db_name

String

文档数据库名称(DDS触发器参数)。DDS触发器此参数必填。

db_password

String

文档数据库密码(DDS触发器参数)。DDS触发器此参数必填。

batch_size

Integer

批处理大小,单次函数执行处理的最大数据量。DIS、DDS、KAFKA、RABBITMQ触发器此参数必填。

  • DDS触发器:批处理大小设置1-10,000的范围内
  • DIS触发器:批处理大小设置1-10,000的范围内
  • KAFKA触发器:批处理大小设置1-1,000的范围内
  • RABBITMQ触发器:批处理大小设置1-1,000的范围内

queue_id

String

队列id(DMS触发器参数)。DMS触发器此参数必填。

consumer_group_id

String

消费组id(DMS触发器参数)。DMS触发器此参数必填。

polling_interval

Integer

拉取周期。DIS、DMS触发器此参数必填。

stream_name

String

通道名称(DIS触发器参数)。DIS触发器此参数必填。

sharditerator_type

String

起始位置(DIS触发器参数)。DIS触发器此参数必填。

  • TRIM_HORIZON:从最早被存储至分区的有效记录开始读取。
  • LATEST:从分区中的最新记录开始读取,此设置可以保证总是读到分区中最新记录。

枚举值:

  • TRIM_HORIZON
  • LATEST

polling_unit

String

拉取周期单位(DIS触发器参数)。DIS触发器此参数必填。

  • s:秒
  • ms:毫秒

枚举值:

  • s
  • ms

max_fetch_bytes

Integer

最大提取字节数(DIS触发器参数)。

最小值:0

最大值:4194304

is_serial

String

串行处理数据(DIS触发器参数),如果开启该选项,取一次数据处理完之后才会取下一次数据;否则只要拉取周期到了就会取数据进行处理。DIS触发器此参数必填。

枚举值:

  • true
  • false

log_group_id

String

日志组id(LTS触发器参数)。LTS触发器此参数必填。

log_topic_id

String

日志流id(LTS触发器参数)。LTS触发器此参数必填。

bucket

String

桶名称(OBS触发器参数),用作事件源的OBS存储桶,不能和本用户已有桶重名;不能和其他用户已有的桶重名;创建成功后不支持修改。OBS触发器此参数必填。

最小长度:1

最大长度:64

prefix

String

前缀(OBS触发器参数),输入一个可选性前缀来限制对以此关键字开头的对象的通知。

最小长度:0

最大长度:1024

suffix

String

后缀(OBS触发器参数),输入一个可选性后缀来限制对以此关键字结尾的对象的通知

最小长度:0

最大长度:1024

events

Array of strings

触发事件(OBS触发器参数)。OBS触发器此参数必填。

  • ObjectCreated:表示所有创建对象的操作,包含Put、Post、Copy对象以及合并段
  • Put:使用Put方法上传对象
  • Post:使用Post方法上传对象
  • Copy:使用copy方法复制对象
  • CompleteMultipartUpload:表示合并分段任务
  • ObjectRemoved:表示删除对象
  • Delete:指定对象版本号删除对象
  • DeleteMarkerCreated:不指定对象版本号删除对象

topic_urn

String

主题URN(SMN触发器参数)。SMN触发器此参数必填。

最小长度:1

最大长度:255

topic_ids

Array of strings

KAFKA主题id列表(KAFKA触发器参数)。KAFKA触发器此参数必填。

kafka_user

String

KAFKA账户名(KAFKA触发器参数)。

kafka_password

String

KAFKA账户密码(KAFKA触发器参数)。

kafka_connect_address

String

KAFKA实例连接IP地址(KAFKA触发器参数)。

kafka_ssl_enable

Boolean

KAFKA连接是否开启安全认证(KAFKA触发器参数)。

access_password

String

RABBITMQ账户密码(RABBITMQ触发器参数)。RABBITMQ触发器此参数必填。

access_user

String

RABBITMQ账户名(RABBITMQ触发器参数)。

connect_address

String

实例连接IP地址(RABBITMQ触发器参数)。

exchange_name

String

交换机名称(RABBITMQ触发器参数)。RABBITMQ触发器此参数必填。

vhost

String

虚拟机名称(RABBITMQ触发器参数)。

ssl_enable

Boolean

RABBITMQ连接是否开启安全认证(RABBITMQ触发器参数)。

Key_encode

Boolean

EG obs触发器是否对对象加密(EVENTGRID触发器参数)。

agency

String

使用的代理(EVENTGRID触发器参数)。

channel_name

String

通道名称(EVENTGRID触发器参数)。

channel_id

String

通道id(EVENTGRID触发器参数)。

source_name

String

事件源名称(EVENTGRID触发器参数)。

created_time

String

创建时间(EVENTGRID触发器参数)。

status

String

触发器状态(EVENTGRID触发器参数)。

枚举值:

  • ACTIVE
  • DISABLE

trigger_name

String

触发器名称(EVENTGRID触发器参数)。

event_types

Array of strings

事件类型(EVENTGRID触发器参数)。例如:OBS:DWR:ObjectCreated:COPY。

表5 ApigTriggerFuncInfo

参数

是否必选

参数类型

描述

function_urn

String

函数的URN,详细解释见FunctionGraph函数模型的描述。

invocation_type

String

调用函数执行方式。

  • sync:同步执行
  • async:异步执行

枚举值:

  • sync
  • async

timeout

Integer

API网关请求函数服务的超时时间(毫秒)。APIG触发器此参数必填。

最小值:1

最大值:60000

version

String

函数版本信息。

support.huaweicloud.com/api-functiongraph/functiongraph_06_0122.html