Chaque type de déclencheur dans Function Compute transmet une structure d'événement spécifique au handler de votre fonction. Analysez le paramètre d'événement pour en extraire les champs nécessaires à votre logique métier.
Remarques d'utilisation
Analysez la charge utile de l'événement avant toute utilisation. Pour un exemple de code d'analyse, reportez-vous à Exemple 1 : Analyser des paramètres au format JSON.
Déclencheurs HTTP
Les handlers de déclencheurs HTTP reçoivent des objets request et response plutôt qu'un objet event. Les formats d'événements décrits dans cette rubrique ne s'appliquent donc pas. Pour plus de détails, consultez Configurer un déclencheur HTTP.
Déclencheurs temporels
{
"triggerTime":"2023-12-26T07:49:00Z",
"triggerName":"timer-trigger",
"payload":"awesome-fc"
}
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
triggerTime |
String | 2023-12-26T07:49:00Z |
Heure de déclenchement de la fonction. |
triggerName |
String | timer-trigger |
Nom du déclencheur temporel. |
payload |
String | awesome-fc |
Valeur personnalisée définie dans le paramètre Trigger Message lors de la création du déclencheur. |
Déclencheurs OSS
{
"events": [
{
"eventName": "ObjectCreated:PutObject",
"eventSource": "acs:oss",
"eventTime": "2022-08-13T06:45:43.000Z",
"eventVersion": "1.0",
"oss": {
"bucket": {
"arn": "acs:oss:cn-hangzhou:123456789:testbucket",
"name": "testbucket",
"ownerIdentity": "164901546557****"
},
"object": {
"deltaSize": 122539,
"eTag": "688A7BF4F233DC9C88A80BF985AB****",
"key": "source/a.png",
"objectMeta": {
"mimeType": "application/zip",
"userMeta": {
"x-oss-meta-last-modified":"20250213"
}
},
"size": 122539
},
"ossSchemaVersion": "1.0",
"ruleId": "9adac8e253828f4f7c0466d941fa3db81161****"
},
"region": "cn-hangzhou",
"requestParameters": {
"sourceIPAddress": "140.205.XX.XX"
},
"responseElements": {
"requestId": "58F9FF2D3DF792092E12044C"
},
"userIdentity": {
"principalId": "164901546557****"
}
}
]
}
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
eventName |
String | ObjectCreated:PutObject |
Type de l'événement. |
eventSource |
String | acs:oss |
Source de l'événement. Valeur fixe : acs:oss. |
eventTime |
String | 2022-08-13T06:45:43.000Z |
Horodatage de l'événement au format ISO 8601. |
eventVersion |
String | 1.0 |
Version du protocole d'événement. |
oss |
Map | — | Contenu de l'événement. |
bucket |
Map | — | Détails du bucket. |
bucket.name |
String | testbucket |
Nom du bucket. |
bucket.arn |
String | acs:oss:cn-hangzhou:123456789:testbucket |
Alibaba Cloud Resource Name (ARN) du bucket. |
bucket.ownerIdentity |
String | 164901546557**** |
ID de l'utilisateur ayant créé le bucket. |
object |
Map | — | Détails de l'objet. |
object.size |
Int | 122539 |
Taille de l'objet en octets. |
object.deltaSize |
Int | 122539 |
Variation de la taille de l'objet en octets. Pour un nouvel objet, cette valeur correspond à sa taille totale. Pour un objet écrasé, elle représente la différence entre l'ancienne et la nouvelle taille. |
object.eTag |
String | 688A7BF4F233DC9C88A80BF985AB**** |
ETag de l'objet. |
object.key |
String | source/a.png |
Nom de l'objet. |
object.objectMeta |
Map | — | Métadonnées de l'objet. |
object.objectMeta.mimeType |
String | application/zip |
Type de contenu de l'objet. Pour plus de détails, consultez Comment configurer l'en-tête Content-Type ?. |
object.objectMeta.userMeta |
Map | — | Métadonnées définies par l'utilisateur identifiant l'objectif ou les attributs de l'objet. |
x-oss-meta-last-modified |
String | 20250213 |
Paire clé-valeur de métadonnées utilisateur. Les clés doivent commencer par x-oss-meta-. Dans cet exemple, "x-oss-meta-last-modified":"20250213" indique la date de dernière modification de l'objet sur la machine source. Pour plus de détails, consultez Métadonnées utilisateur. |
ossSchemaVersion |
String | 1.0 |
Version du schéma OSS. |
ruleId |
String | 9adac8e253828f4f7c0466d941fa3db81161**** |
ID de la règle correspondant à l'événement. |
region |
String | cn-hangzhou |
Région où réside le bucket. |
requestParameters |
Map | — | Paramètres de la requête. |
requestParameters.sourceIPAddress |
String | 140.205.XX.XX |
Adresse IP de l'expéditeur de la requête. |
responseElements |
Map | — | Détails de la réponse. |
responseElements.requestId |
String | 58F9FF2D3DF792092E12044C |
ID de la requête. |
userIdentity |
Map | — | Identité de l'utilisateur. |
userIdentity.principalId |
String | 164901546557**** |
ID du compte Alibaba Cloud à l'origine de la requête. |
Déclencheurs Simple Log Service
{
"parameter": {},
"source": {
"endpoint": "http://cn-hangzhou-intranet.log.aliyuncs.com",
"projectName": "aliyun-fc-cn-hangzhou-2238f0df-a742-524f-9f90-976ba457****",
"logstoreName": "function-log",
"shardId": 0,
"beginCursor": "MTUyOTQ4MDIwOTY1NTk3ODQ2Mw==",
"endCursor": "MTUyOTQ4MDIwOTY1NTk3ODQ2NA=="
},
"jobName": "1f7043ced683de1a4e3d8d70b5a412843d81****",
"taskId": "c2691505-38da-4d1b-998a-f1d4bb8c****",
"cursorTime": 1529486425
}
| Paramètre | Description | Exemple |
|---|---|---|
parameter |
Paramètres d'invocation configurés lors de la création du déclencheur. | — |
source |
Bloc de journaux que la fonction lit depuis Simple Log Service. Champs inclus : endpoint (endpoint de la région du projet Simple Log Service), projectName (nom du projet), logstoreName (nom du Logstore), shardId (ID du shard), beginCursor (offset de début de consommation des données), endCursor (offset de fin de consommation des données). |
Voir l'exemple ci-dessus. |
jobName |
Nom du job ETL dans Simple Log Service. Les déclencheurs Simple Log Service doivent correspondre à des jobs ETL. | 1f7043ced683de1a4e3d8d70b5a412843d81**** |
taskId |
Identifiant d'une invocation de fonction spécifique au sein d'un job ETL. | c2691505-38da-4d1b-998a-f1d4bb8c**** |
cursorTime |
Timestamp UNIX de la dernière entrée de journal reçue par Simple Log Service. | 1529486425 |
Déclencheurs Alibaba Cloud CDN
Les déclencheurs CDN prennent en charge quatre types d'événements : LogFileCreated, CachedObjectsRefreshed / CachedObjectsPushed, CdnDomainStarted / CdnDomainStopped, ainsi que CdnDomainAdded / CdnDomainDeleted. Tous ces événements partagent une structure de niveau supérieur commune ; seuls les champs eventParameter varient selon le type d'événement.
Les champs de niveau supérieur suivants sont communs à tous les événements CDN :
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
eventName |
String | LogFileCreated |
Type de l'événement. |
eventSource |
String | cdn |
Source de l'événement. |
region |
String | cn-hangzhou |
Région d'Alibaba Cloud CDN. |
eventVersion |
String | 1.0.0 |
Version du protocole d'événement. |
eventTime |
String | 2018-06-14T15:31:49+08:00 |
Heure de l'événement. |
traceId |
String | c6459282-6a4d-4413-894c-e4ea3968**** |
ID de trace fourni par la source de l'événement pour le dépannage. |
userIdentity.aliUid |
String | 164901546557**** |
ID du compte Alibaba Cloud ayant créé le namespace. |
resource.domain |
String | example.com |
Endpoint concerné. |
eventParameter |
Map | — | Paramètres spécifiques à l'événement. Reportez-vous aux tableaux ci-dessous. |
LogFileCreated
Remplacez filePath par le chemin des journaux Alibaba Cloud CDN ou d'un fichier de test.
{
"events": [
{
"eventName": "LogFileCreated",
"eventSource": "cdn",
"region": "cn-hangzhou",
"eventVersion": "1.0.0",
"eventTime": "2018-06-14T15:31:49+08:00",
"traceId": "c6459282-6a4d-4413-894c-e4ea3968****",
"userIdentity": {
"aliUid": "164901546557****"
},
"resource": {
"domain": "example.com"
},
"eventParameter": {
"domain": "example.com",
"endTime": 1528959900,
"fileSize": 1788115,
"filePath": "http://cdnlog.cn-hangzhou.oss.aliyun-inc.com/www.aliyun.com/2017_12_27/www.aliyun.com_2017_12_27_0800_0900.gz?OSSAccessKeyId=xxxx&Expires=xxxx&Signature=xxxx",
"startTime": 1528959600
}
}
]
}
Champs eventParameter pour LogFileCreated :
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
domain |
String | example.com |
Endpoint concerné. |
startTime |
String | 1528959600 |
Heure de début du fichier de journal. |
endTime |
String | 1528959900 |
Heure de fin du fichier de journal. |
fileSize |
String | 1788115 |
Taille du fichier de journal. |
filePath |
String | http://cdnlog.cn-hangzhou.oss.aliyun-inc.com/... |
Emplacement du fichier de journal. |
CachedObjectsRefreshed et CachedObjectsPushed
{
"events": [
{
"eventName": "CachedObjectsRefreshed",
"eventVersion": "1.0.0",
"eventSource": "cdn",
"region": "cn-hangzhou",
"eventTime": "2018-03-16T14:19:55+08:00",
"traceId": "cf89e5a8-7d59-4bb5-a33e-4c3d08e2****",
"resource": {
"domain": "example.com"
},
"eventParameter": {
"objectPath": [
"/2018/03/16/13/33b430c57e7.mp4",
"/2018/03/16/14/4ff6b9bd54d.mp4"
],
"createTime": 1521180769,
"domain": "example.com",
"completeTime": 1521180777,
"objectType": "File",
"taskId": 2089687230
},
"userIdentity": {
"aliUid": "164901546557****"
}
}
]
}
Champs eventParameter pour CachedObjectsRefreshed et CachedObjectsPushed :
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
domain |
String | example.com |
Endpoint concerné. |
objectPath |
String | /2018/03/16/13/33b430c57e7.mp4 |
Identifiant de la ressource. |
createTime |
String | 1521180769 |
Heure de début de l'actualisation. |
completeTime |
String | 1521180777 |
Heure de fin de l'actualisation. |
objectType |
String | File |
Élément actualisé. Valeurs valides : File, Directory. |
taskId |
String | 2089687230 |
ID de la tâche d'actualisation. |
CdnDomainStarted et CdnDomainStopped
{
"events": [
{
"eventName": "CdnDomainStarted",
"eventVersion": "1.0.0",
"eventSource": "cdn",
"region": "cn-hangzhou",
"eventTime": "2018-03-16T14:19:55+08:00",
"traceId": "cf89e5a8-7d59-4bb5-a33e-4c3d08e2****",
"resource": {
"domain": "example.com"
},
"eventParameter": {
"domain": "example.com",
"status": "online"
},
"userIdentity": {
"aliUid": "164901546557****"
}
}
]
}
Champs eventParameter pour CdnDomainStarted et CdnDomainStopped :
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
domain |
String | example.com |
Endpoint concerné. |
status |
String | online |
État du nom de domaine accéléré. |
CdnDomainAdded et CdnDomainDeleted
{
"events": [
{
"eventName": "CdnDomainAdded",
"eventVersion": "1.0.0",
"eventSource": "cdn",
"region": "cn-hangzhou",
"eventTime": "2018-03-16T14:19:55+08:00",
"traceId": "cf89e5a8-7d59-4bb5-a33e-4c3d08e2****",
"resource": {
"domain": "example.com"
},
"eventParameter": {
"domain": "example.com"
},
"userIdentity": {
"aliUid": "164901546557****"
}
}
]
}
Champs eventParameter pour CdnDomainAdded et CdnDomainDeleted :
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
domain |
String | example.com |
Endpoint concerné. |
Déclencheurs Tablestore
{
"Version": "Sync-v1",
"Records": [
{
"Type": "PutRow",
"Info": {
"Timestamp": 1506416585740836
},
"PrimaryKey": [
{
"ColumnName": "pk_0",
"Value": 1506416585881590900
},
{
"ColumnName": "pk_1",
"Value": "2017-09-26 17:03:05.8815909 +0800 CST"
},
{
"ColumnName": "pk_2",
"Value": 1506416585741000
}
],
"Columns": [
{
"Type": "Put",
"ColumnName": "attr_0",
"Value": "hello_table_store",
"Timestamp": 1506416585741
},
{
"Type": "Put",
"ColumnName": "attr_1",
"Value": 1506416585881590900,
"Timestamp": 1506416585741
}
]
}
]
}
| Paramètre | Description |
|---|---|
Version |
Version de la charge utile. Exemple : Sync-v1. Type : String. |
Records |
Tableau de lignes de données incrémentielles. Chaque élément contient Type (type d'opération sur la ligne ; valeurs valides : PutRow, UpdateRow, DeleteRow ; type : String) et Info (métadonnées de la ligne, incluant Timestamp, heure de la dernière modification en UTC ; type : INT64). |
PrimaryKey |
Tableau de colonnes de clé primaire. Chaque élément contient ColumnName (nom de la colonne ; type : String) et Value (valeur de la colonne ; type : formated_value, pouvant être INTEGER, STRING ou BLOB). |
Columns |
Tableau de colonnes d'attributs. Chaque élément contient Type (type d'opération ; valeurs valides : Put, DeleteOneVersion, DeleteAllVersions ; type : String), ColumnName (nom de la colonne ; type : String), Value (valeur de la colonne ; type : formatted_value, pouvant être INTEGER, BOOLEAN, DOUBLE, STRING ou BLOB), ainsi que Timestamp (heure de la dernière modification en UTC ; type : INT64). |
Déclencheurs de topic Simple Message Queue (anciennement MNS)
Le format de l'événement dépend du paramètre Event Format configuré pour le déclencheur.
Format STREAM
Sans attributs de message : l'événement est une chaîne JSON simple :
'hello topic'
En l'absence d'attributs, le contenu de l'événement est une chaîne au format JSON.
Avec attributs de message : l'événement inclut des paires clé-valeur d'attributs :
Le contenu de l'événement comprend les paires clé-valeur issues des attributs du message. Pour plus de détails, consultez PublishMessage .
{
"body": "hello topic",
"attrs": {
"Extend": "{\"key\":\"value\"}"
}
}
Format JSON
Sans attributs de message :
{
"TopicOwner": "118620210433****",
"Message": "hello topic",
"Subscriber": "118620210433****",
"PublishTime": 1550216480040,
"SubscriptionName": "test-fc-subscribe",
"MessageMD5": "BA4BA9B48AC81F0F9C66F6C909C3****",
"TopicName": "Mytopic",
"MessageId": "2F5B3C082B923D4EAC694B76D928****"
}
Avec attributs de message : l'événement contient les paires clé-valeur d'attributs en plus des champs standard :
Le contenu de l'événement comprend les paires clé-valeur issues des attributs du message. Pour plus de détails, consultez PublishMessage .
{
"key": "value",
"TopicOwner": "118620210433****",
"Message": "hello topic",
"Subscriber": "118620210433****",
"PublishTime": 1550216302888,
"SubscriptionName": "test-fc-subscribe",
"MessageMD5": "BA4BA9B48AC81F0F9C66F6C909C3****",
"TopicName": "Mytopic",
"MessageId": "2F5B3C281B283D4EAC694B742528****"
}
Paramètres d'événement au format JSON :
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
key |
String | value |
Paires clé-valeur des attributs du message. |
TopicOwner |
String | 118620210433**** |
ID du compte propriétaire du topic Simple Message Queue (anciennement MNS). |
Message |
String | hello topic |
Corps du message. |
Subscriber |
String | 118620210433**** |
ID du compte abonné au topic. |
PublishTime |
Int | 1550216302888 |
Heure de publication du message. |
SubscriptionName |
String | test-fc-subscribe |
Nom de l'abonnement. |
MessageMD5 |
String | BA4BA9B48AC81F0F9C66F6C909C3**** |
Hachage MD5 du corps du message. |
TopicName |
String | Mytopic |
Nom du topic Simple Message Queue (anciennement MNS). |
MessageId |
String | 2F5B3C281B283D4EAC694B742528**** |
ID du message. |
Déclencheurs de file d'attente MNS
L'événement est un tableau de messages au format CloudEvents. Pour les champs de la spécification CloudEvents (specversion, id, source, type, datacontenttype, subject, time et les champs d'extension Alibaba Cloud), consultez Vue d'ensemble.
[
{
"id":"c2g71017-6f65-fhcf-a814-a396fc8d****",
"source":"MNS-Function-mnstrigger",
"specversion":"1.0",
"type":"mns:Queue:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mns:cn-hangzhou:164901546557****:queues/zeus",
"time":"2021-04-08T06:28:17.093Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T07:06:34.028Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"MNS-Function-mnstrigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"requestId":"606EA3074344430D4C81****",
"messageId":"C6DB60D1574661357FA227277445****",
"messageBody":"TEST"
}
}
]
Champs data :
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
requestId |
String | 606EA3074344430D4C81**** |
ID unique attribué à chaque requête. |
messageId |
String | C6DB60D1574661357FA227277445**** |
ID unique attribué à chaque message. |
messageBody |
String | TEST |
Corps du message. |
Déclencheurs ApsaraMQ for RocketMQ
L'événement est un tableau de messages au format CloudEvents. Pour les champs de la spécification CloudEvents, consultez Vue d'ensemble.
[
{
"id":"94ebc15f-f0db-4bbe-acce-56fb72fb****",
"source":"RocketMQ-Function-rocketmq-trigger",
"specversion":"1.0",
"type":"mq:Topic:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mq:cn-hangzhou:164901546557****:MQ_INST_164901546557****_BXhFHryi%TopicName",
"time":"2021-04-08T06:01:20.766Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T02:05:16.791Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"RocketMQ-Function-rocketmq-trigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"topic":"TopicName",
"systemProperties":{
"MIN_OFFSET":"0",
"TRACE_ON":"true",
"MAX_OFFSET":"8",
"MSG_REGION":"cn-hangzhou",
"KEYS":"systemProperties.KEYS",
"CONSUME_START_TIME":1628577790396,
"TAGS":"systemProperties.TAGS",
"INSTANCE_ID":"MQ_INST_164901546557****_BXhFHryi"
},
"userProperties":{},
"body":"TEST"
}
}
]
Champs data :
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
topic |
String | TopicName |
Nom du topic. |
systemProperties |
Map | — | Propriétés système. |
systemProperties.MIN_OFFSET |
Int | 0 |
Offset le plus ancien. |
systemProperties.TRACE_ON |
Boolean | true |
Indique si une trace de message existe. Valeurs valides : true, false. |
systemProperties.MAX_OFFSET |
Int | 8 |
Offset le plus récent. |
systemProperties.MSG_REGION |
String | cn-hangzhou |
Région d'envoi du message. |
systemProperties.KEYS |
String | systemProperties.KEYS |
Clés utilisées pour filtrer les messages. |
systemProperties.CONSUME_START_TIME |
Long | 1628577790396 |
Heure de début de la consommation du message, en millisecondes. |
systemProperties.UNIQ_KEY |
String | AC14C305069E1B28CDFA3181CDA2**** |
Clé unique du message. |
systemProperties.TAGS |
String | systemProperties.TAGS |
Tags utilisés pour filtrer les messages. |
systemProperties.INSTANCE_ID |
String | MQ_INST_123456789098****_BXhFHryi |
ID de l'instance ApsaraMQ for RocketMQ. |
userProperties |
Map | — | Propriétés définies par l'utilisateur. |
body |
String | TEST |
Corps du message. |
Déclencheurs ApsaraMQ for RabbitMQ
L'événement est un tableau de messages au format CloudEvents. Pour les champs de la spécification CloudEvents, consultez Vue d'ensemble.
[
{
"id":"bj694332-4cj1-389e-9d8c-b137h30b****",
"source":"RabbitMQ-Function-rabbitmq-trigger",
"specversion":"1.0",
"type":"amqp:Queue:SendMessage",
"datacontenttype":"application/json;charset=utf-8",
"subject":"acs:amqp:cn-hangzhou:164901546557****:/instances/amqp-cn-tl32e756****/vhosts/eb-connect/queues/housekeeping",
"time":"2021-08-12T06:56:40.709Z",
"aliyunaccountid":"164901546557****",
"aliyunpublishtime":"2021-10-15T08:58:55.140Z",
"aliyunoriginalaccountid":"164901546557****",
"aliyuneventbusname":"RabbitMQ-Function-rabbitmq-trigger",
"aliyunregionid":"cn-chengdu",
"aliyunpublishaddr":"42.120.XX.XX",
"data":{
"envelope":{
"deliveryTag":98,
"exchange":"",
"redeliver":false,
"routingKey":"housekeeping"
},
"body":{
"Hello":"RabbitMQ"
},
"props":{
"contentEncoding":"UTF-8",
"messageId":"f7622d51-e198-41de-a072-77c1ead7****"
}
}
}
]
Champs data :
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
body |
Map | — | Corps du message. |
body.Hello |
String | EventBridge |
Données utilisateur. |
props |
Map | — | Attributs du message. |
props.contentEncoding |
String | utf-8 |
Format d'encodage du corps du message. |
props.messageId |
String | f7622d51-e198-41de-a072-77c1ead7**** |
ID unique attribué à chaque message. |
envelope |
Map | — | Enveloppe du message. |
envelope.deliveryTag |
Int | 98 |
Tag de livraison. |
envelope.exchange |
String | — | Exchange ayant routé le message. |
envelope.redeliver |
Boolean | false |
Indique s'il s'agit d'une nouvelle livraison du message. Valeurs valides : true, false. |
envelope.routingKey |
String | housekeeping |
Clé de routage du message. |
Déclencheurs ApsaraMQ for Kafka
L'événement est un tableau de messages au format CloudEvents. Pour les champs de la spécification CloudEvents, consultez Vue d'ensemble.
[
{
"specversion":"1.0",
"id":"8e215af8-ca18-4249-8645-f96c1026****",
"source":"acs:alikafka",
"type":"alikafka:Topic:Message",
"subject":"acs:alikafka_pre-cn-i7m2t7t1****:topic:mytopic",
"datacontenttype":"application/json; charset=utf-8",
"time":"2022-06-23T02:49:51.589Z",
"aliyunaccountid":"164901546557****",
"data":{
"topic":"****",
"partition":7,
"offset":25,
"timestamp":1655952591589,
"headers":{
"headers":[],
"isReadOnly":false
},
"key":"keytest",
"value":"hello kafka msg"
}
}
]
Champs data :
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
topic |
String | TopicName |
Nom du topic. |
partition |
Int | 1 |
Partition concernée sur l'instance ApsaraMQ for Kafka. |
offset |
Int | 0 |
Offset du message. |
timestamp |
String | 1655952591589 |
Timestamp de début de la consommation du message. |
Déclencheurs DTS
L'événement est un tableau de messages au format CloudEvents. Pour les champs de la spécification CloudEvents, consultez Vue d'ensemble.
[
{
"data": {
"id": 321****,
"topicPartition": {
"hash": 0,
"partition": 0,
"topic": "cn_hangzhou_rm_1234****_test_version2"
},
"offset": 3218099,
"sourceTimestamp": 1654847757,
"operationType": "UPDATE",
"schema": {
"recordFields": [
{
"fieldName": "id",
"rawDataTypeNum": 8,
"isPrimaryKey": true,
"isUniqueKey": false,
"fieldPosition": 0
},
{
"fieldName": "topic",
"rawDataTypeNum": 253,
"isPrimaryKey": false,
"isUniqueKey": false,
"fieldPosition": 1
}
],
"schemaId": "(hangzhou-test-db,hangzhou-test-db,message_info)",
"databaseName": "hangzhou--test-db",
"tableName": "message_info",
"primaryIndexInfo": {
"indexType": "PrimaryKey",
"indexFields": [...],
"cardinality": 0,
"nullable": true,
"isFirstUniqueIndex": false
},
"databaseInfo": {
"databaseType": "MySQL",
"version": "5.7.35-log"
},
"totalRows": 0
},
"beforeImage": { ... },
"afterImage": { ... }
},
"id": "12f701a43741d404fa9a7be89d9acae0-321****",
"source": "DTSstreamDemo",
"specversion": "1.0",
"type": "dts:ConsumeMessage",
"datacontenttype": "application/json; charset=utf-8",
"time": "2022-06-10T07:55:57Z",
"subject": "acs:dts:cn-hangzhou:12345****:kk123abc60g782/dtsabcdet1ro"
}
]
Champs data :
| Paramètre | Type | Description |
|---|---|---|
id |
String | ID de l'entrée de données DTS. |
topicPartition |
Array | Détails de la partition du topic vers lequel l'événement est poussé. |
topicPartition.hash |
String | Paramètre de stockage sous-jacent de DTS. |
topicPartition.partition |
String | Partition concernée. |
topicPartition.topic |
String | Nom du topic. |
offset |
Int | Offset de l'entrée de données DTS. |
sourceTimestamp |
Int | Timestamp de génération de l'entrée de données DTS. |
operationType |
String | Type d'opération de l'entrée de données DTS. |
schema |
Array | Informations sur le schéma de la base de données. |
schema.recordFields |
Array | Détails des champs. |
schema.recordFields[].fieldName |
String | Nom du champ. |
schema.recordFields[].rawDataTypeNum |
Int | Valeur mappée du type de champ. Correspond au champ dataTypeNumber dans les données incrémentielles désérialisées provenant de l'instance de suivi des modifications. Pour plus de détails, consultez Utiliser un client Kafka pour consommer des données suivies. |
schema.recordFields[].isPrimaryKey |
Boolean | Indique si le champ est une clé primaire. |
schema.recordFields[].isUniqueKey |
Boolean | Indique si le champ possède une clé unique. |
schema.recordFields[].fieldPosition |
String | Position du champ. |
schema.nameIndex |
Array | Informations d'indexation des champs basées sur leurs noms. |
schema.schemaId |
String | ID du schéma de la base de données. |
schema.databaseName |
String | Nom de la base de données. |
schema.tableName |
String | Nom de la table. |
schema.primaryIndexInfo |
String | Détails de l'index de clé primaire. |
schema.primaryIndexInfo.indexType |
String | Type d'index. |
schema.primaryIndexInfo.indexFields |
Array | Champs indexés. |
schema.primaryIndexInfo.cardinality |
String | Cardinalité des clés primaires. |
schema.primaryIndexInfo.nullable |
Boolean | Indique si les clés primaires peuvent être nulles. |
schema.primaryIndexInfo.isFirstUniqueIndex |
Boolean | Indique s'il s'agit du premier index unique. |
schema.uniqueIndexInfo |
String | Index uniques. |
schema.foreignIndexInfo |
String | Index de clés étrangères. |
schema.normalIndexInfo |
String | Index standards. |
schema.databaseInfo |
Array | Détails de la base de données. |
schema.databaseInfo.databaseType |
String | Moteur de base de données. |
schema.databaseInfo.version |
String | Version du moteur de base de données. |
schema.totalRows |
Int | Nombre total de lignes dans la table. |
beforeImage |
String | Valeurs des champs avant l'opération. |
values |
String | Valeurs des champs enregistrées. |
size |
Int | Taille des champs enregistrés. |
afterImage |
String | Valeurs des champs après l'opération. |
Déclencheurs ApsaraMQ for MQTT
[
{
"props": {
"firstTopic": "testTopic",
"secondTopic": "/testMq4****",
"clientId": "consumerGroupID@@@xxx"
},
"body": "hello mq4Iot pub sub msg"
}
]
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
props |
Map | — | Attributs du message. |
props.firstTopic |
String | testTopic |
Topic parent utilisé pour l'envoi et la réception des messages. |
props.secondTopic |
String | /testMq4**** |
Topic enfant. |
props.clientId |
String | consumerGroupID@@@xx |
ID du client. |
body |
String | hello mq4Iot pub sub msg |
Corps du message. |
Déclencheurs Apache RocketMQ auto-gérés
[
{
"msgId": "7F0000010BDD2A84AEE70DA49B57****",
"topic": "testTopic",
"systemProperties": {
"UNIQ_KEY": "7F0000010BDD2A84AEE70DA49B57****",
"CLUSTER": "DefaultCluster",
"MIN_OFFSET": "0",
"TAGS": "TagA",
"MAX_OFFSET": "128"
},
"userProperties": {},
"body": "Hello RocketMQ"
}
]
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
msgId |
String | 7F0000010BDD2A84AEE70DA49B57**** |
ID du message Apache RocketMQ. |
topic |
String | testTopic |
Nom du topic dans le cluster Apache RocketMQ. |
systemProperties |
Map | — | Propriétés système. |
systemProperties.UNIQ_KEY |
String | 7F0000010BDD2A84AEE70DA49B57**** |
Clé unique du message. |
systemProperties.CLUSTER |
String | DefaultCluster |
Nom du cluster Apache RocketMQ. |
systemProperties.MIN_OFFSET |
Int | 0 |
Offset minimal. |
systemProperties.MAX_OFFSET |
Int | 128 |
Offset maximal. |
systemProperties.TAGS |
String | TagA |
Tags utilisés pour filtrer les messages. |
userProperties |
Map | — | Propriétés définies par l'utilisateur. |
body |
String | Hello RocketMQ |
Corps du message. |