Querying All Triggers of a Function

Function

This API is used to query all triggers of a function.

URI

GET /v2/{project_id}/fgs/triggers/{function_urn}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details, see Obtaining a Project ID.

function_urn

Yes

String

Function URN. For details, see the function model description.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token.

Content-Type

Yes

String

Message body type (format).

Default: application/json

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

[items]

Array of ListFunctionTriggerResult objects

Table 4 ListFunctionTriggerResult

Parameter

Type

Description

trigger_id

String

Trigger ID.

trigger_type_code

String

Trigger type.

  • TIMER

  • APIG

  • CTS

  • DDS

  • DMS

  • DIS

  • LTS

  • OBS

  • SMN

  • KAFKA

trigger_status

String

Trigger status.

  • ACTIVE: The trigger is enabled.

  • DISABLED: The trigger is disabled.

Enumeration values:

  • ACTIVE

  • DISABLED

event_data

TriggerEventDataResponseBody object

Trigger source event.

last_updated_time

String

Latest update time.

created_time

String

Time when the trigger was created.

Table 5 TriggerEventDataResponseBody

Parameter

Type

Description

name

String

Trigger name.

schedule_type

String

Timer trigger type (timer trigger parameter).

  • Rate: specifies the frequency (minutes, hours, or days) at which the function is invoked. If the unit is minute, the value cannot exceed 60. If the unit is hour, the value cannot exceed 24. If the unit is day, the value cannot exceed 30.

  • Cron: specifies a Cron expression to periodically invoke a function.

Enumeration values:

  • Rate

  • Cron

schedule

String

Triggering rule. (timer trigger parameter).

  • When the trigger type is Rate, the scheduled rule is used. When the trigger type is Cron, the Cron expression is used.

user_event

String

Additional information (timer trigger parameter). When the timer trigger triggers the function, the execution event (the event parameter of the function) is {"version": "v1.0", "time": "2018-06-01T08:30:00+08:00", "trigger_type": "TIMER", "trigger_name": "Timer_001", "user_event": "Additional information you entered"}.

triggerid

String

APIG trigger ID (APIG trigger parameter).

type

Integer

The API type (APIG trigger parameter).

  • 1: public

  • 2: private

path

String

Path of the API (APIG trigger parameter).

protocol

String

Request protocol of the API (APIG trigger parameter).

Enumeration values:

  • HTTP

  • HTTPS

req_method

String

Request mode of the API (APIG trigger parameter).

Enumeration values:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

  • ANY

group_id

String

ID of the group to which the API belongs (APIG trigger parameter).

group_name

String

Name of the group to which the API belongs (APIG trigger parameter).

match_mode

String

Matching mode of the API (APIG trigger parameter).

  • SWA: prefix match

  • NORMAL: normal match (absolute match)

Enumeration values:

  • SWA

  • NORMAL

env_name

String

Environment in which the API is published (APIG trigger parameter).

env_id

String

ID of the environment in which the API has been published (APIG trigger parameter).

api_id

String

API ID (APIG trigger parameter).

api_name

String

API name (APIG trigger parameter).

auth

String

Security authentication (APIG trigger parameter).

  • IAM: IAM authentication. Only IAM users are allowed to access the system. The security level is medium.

  • APP: Appkey&Appsecret authentication is used. The security level is high. This authentication mode is recommended.

  • NONE: No authentication mode is used. All users can access the system. This mode is not recommended.

Enumeration values:

  • IAM

  • APP

  • NONE

invoke_url

String

API calling address (APIG trigger parameter).

func_info

ApigTriggerFuncInfo object

FunctionGraph backend details (APIG trigger parameter). This parameter is mandatory for APIG triggers.

sl_domain

String

Subdomain name allocated by the APIG system by default (APIG trigger parameter).

Minimum: 1

Maximum: 255

backend_type

String

Backend type of the API (APIG trigger parameter).

Enumeration values:

  • FUNCTION

instance_id

String

Instance ID. This parameter is mandatory for DDS, Kafka, and RabbitMQ triggers.

  • APIG trigger: APIG gateway ID

  • DDS trigger: DB instance ID.

  • Kafka trigger: Kafka instance ID

  • RabbitMQ trigger: RabbitMQ instance ID

roma_app_id

String

ID of the integration application to which the API belongs (APIG trigger parameter).

operations

Array of strings

Custom operations (CTS trigger parameter). CTS collects operation records of subscribed cloud resources. If you create a function with a CTS trigger, collected operation records of specified cloud services will be passed as a parameter to invoke the function.

collection_name

String

Collection name (DDS trigger parameter).

db_name

String

Database name (DDS trigger parameter).

db_password

String

DDS database password (DDS trigger parameter).

db_user

String

DDS database username (DDS trigger parameter).

instance_addrs

Array of strings

DDS database instance address (DDS trigger parameter).

mode

String

DDS database instance type (DDS trigger parameter).

  • Sharding: cluster instance

  • ReplicaSet: replica set instance

  • Single: single node instance.

batch_size

Integer

Batch size: Maximum number of data records that can be processed by the function at a time. This parameter is mandatory for DIS, DDS, Kafka, and RabbitMQ triggers.

  • DDS trigger: Set the batch size to a value ranging from 1 to 10,000.

  • DIS trigger: Set the batch size to a value ranging from 1 to 10,000.

  • Kafka trigger: Set the batch size to a value ranging from 1 to 1000.

  • RabbitMQ trigger: Set the batch size to a value ranging from 1 to 1000.

queue_id

String

Queue ID (DMS trigger parameter).

consumer_group_id

String

Consumer group ID (DMS trigger parameter).

polling_interval

Integer

Pull period.

stream_name

String

Stream name (DIS trigger parameter).

sharditerator_type

String

Start position (DIS trigger parameter).

  • TRIM_HORIZON: Data is read from the earliest valid record stored in the partition.

  • LATEST: Data is read from the latest record in the partition. This option ensures that the most recent data in the partition is read.

Enumeration values:

  • TRIM_HORIZON

  • LATEST

polling_unit

String

Unit of the pull period (DIS trigger parameter).

  • s: second

  • ms: millisecond

Enumeration values:

  • s

  • ms

max_fetch_bytes

Integer

Maximum number of bytes to be extracted (DIS trigger parameter).

Minimum: 0

Maximum: 4194304

is_serial

String

Serial Data Processing: If this option is selected, FunctionGraph pulls data from the stream only after previous data is processed. If this option is not selected, FunctionGraph pulls data from the stream as long as the pull period ends.

Enumeration values:

  • true

  • false

log_group_id

String

Log group ID (LTS trigger parameter).

log_topic_id

String

Log stream ID (LTS trigger parameter).

bucket

String

Bucket name (OBS trigger parameter). The name of the OBS bucket used as the event source cannot be the same as that of an existing bucket of the current user or another user. After being created, the bucket name cannot be modified.

Minimum: 1

Maximum: 64

prefix

String

Prefix (OBS trigger parameter). Enter a prefix to limit notifications to objects whose names start with the matching characters.

Minimum: 0

Maximum: 1024

suffix

String

Suffix (OBS trigger parameter). Enter a suffix to limit notifications to objects whose names end with the matching characters.

Minimum: 0

Maximum: 1024

events

Array of strings

Trigger event (OBS trigger parameter).

  • ObjectCreated: all object creation operations, including PUT, POST, COPY, and part assembling

  • Put: Uploads an object using Put.

  • Post: Uploads an object using POST

  • Copy: Copies an object using COPY.

  • CompleteMultipartUpload: Merges parts of a multipart upload.

  • ObjectRemoved: Deletes an object.

  • Delete: Deletes an object by specifying its version ID.

  • DeleteMarkerCreated: Deletes an object without specifying its version ID.

topic_urn

String

Topic URN (SMN trigger parameter)

Minimum: 1

Maximum: 255

topic_ids

Array of strings

The Kafka topic ID list (Kafka trigger parameter).

kafka_user

String

Kafka account name (Kafka trigger parameter).

kafka_password

String

Kafka password (Kafka trigger parameter).

kafka_connect_address

String

Kafka instance connection address (Kafka trigger parameter).

kafka_ssl_enable

Boolean

Whether to enable SASL authentication(Kafka trigger parameter).

access_password

String

RabbitMQ account password (RabbitMQ trigger parameter).

access_user

String

RabbitMQ username (RabbitMQ trigger parameter).

connect_address

String

Instance IP address (RabbitMQ trigger parameter).

exchange_name

String

Switch name (RabbitMQ trigger parameter).

vhost

String

Virtual host (RabbitMQ trigger parameter).

ssl_enable

Boolean

Whether to enable SSL (RabbitMQ trigger parameter).

Table 6 ApigTriggerFuncInfo

Parameter

Type

Description

function_urn

String

Function URN. For details, see the function model descriptions.

invocation_type

String

Execution mode of a function.

  • sync: synchronous execution

  • async: asynchronous execution

Enumeration values:

  • sync

  • async

timeout

Integer

Timeout allowed for APIG to request the FunctionGraph service. The unit is in millisecond. This parameter is mandatory for APIG triggers.

Minimum: 1

Maximum: 60000

version

String

Function version information.

Status code: 400

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 401

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 403

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 404

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 500

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Example Requests

Query all triggers of a function.

GET https://{Endpoint}/v2/{project_id}/fgs/triggers/{function_urn}

Example Responses

Status code: 200

OK

[ {
  "trigger_id" : "1b3b264db3b849118d007884b9bc8a60",
  "trigger_type_code" : "APIG",
  "trigger_status" : "ACTIVE",
  "event_data" : {
    "api_id" : "4a59f6a7263c4d1dab3f69c34f98d949",
    "api_name" : "API_test_triggers",
    "auth" : "IAM",
    "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID",
    "env_name" : "RELEASE",
    "func_info" : {
      "function_urn" : "urn:fss:xxxxx:46b6f338fc3445b8846c71dfb1fbxxxx:function:default:test_triggers",
      "invocation_type" : "sync",
      "timeout" : 5000,
      "version" : "latest"
    },
    "group_id" : "9205f83fe721481eb490870d380cf31d",
    "group_name" : "APIGroup_2mbe",
    "invoke_url" : "https://ed94ae9494ba4f70ac24224747202140.{apig_endpoint}/test_triggers",
    "match_mode" : "SWA",
    "name" : "API_test_triggers",
    "path" : "/test_triggers",
    "protocol" : "HTTPS",
    "req_method" : "ANY",
    "triggerid" : "1b3b264db3b849118d007884b9bc8a60",
    "type" : 1
  },
  "last_updated_time" : "2022-11-09 16:37:24",
  "created_time" : "2022-11-09 16:37:24"
} ]

Status Codes

Status Code

Description

200

OK

400

Bad request.

401

Unauthorized.

403

Forbidden.

404

Not found.

500

Internal server error.

Error Codes

See Error Codes.