Setiap jenis Pemicu di Function Compute mengirimkan struktur event yang berbeda ke penanganan fungsi Anda. Uraikan parameter event untuk mengekstrak bidang-bidang yang dibutuhkan oleh logika bisnis Anda.
Catatan penggunaan
Uraikan muatan event sebelum digunakan. Untuk contoh kode penguraian, lihat Contoh 1: Uraikan parameter berformat JSON.
Pemicu HTTP
Penanganan Pemicu HTTP menerima objek request dan response alih-alih objek event, sehingga format event yang dijelaskan dalam topik ini tidak berlaku. Untuk detailnya, lihat Konfigurasikan Pemicu HTTP.
Pemicu waktu
{
"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****"
}
}
]
}| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
triggerTime | String | 2023-12-26T07:49:00Z | Waktu fungsi dipicu. |
triggerName | String | timer-trigger | Nama Pemicu waktu. |
payload | String | awesome-fc | Nilai kustom yang ditetapkan pada parameter Trigger Message saat pemicu dibuat. |
Pemicu 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****"
}
}
]
}| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
eventName | String | ObjectCreated:PutObject | Jenis event. |
eventSource | String | acs:oss | Sumber event. Nilai tetap: acs:oss. |
eventTime | String | 2022-08-13T06:45:43.000Z | Waktu terjadinya event, dalam format ISO 8601. |
eventVersion | String | 1.0 | Versi protokol event. |
oss | Map | — | Konten event. |
bucket | Map | — | Detail bucket. |
bucket.name | String | testbucket | Nama bucket. |
bucket.arn | String | acs:oss:cn-hangzhou:123456789:testbucket | Nama Sumber Daya Alibaba Cloud (ARN) bucket. |
bucket.ownerIdentity | String | 164901546557**** | ID pengguna yang membuat bucket. |
object | Map | — | Detail objek. |
object.size | Int | 122539 | Ukuran objek, dalam byte. |
object.deltaSize | Int | 122539 | Perubahan ukuran objek, dalam byte. Untuk objek baru, nilai ini sama dengan ukuran objek. Untuk objek yang ditimpa, nilai ini adalah selisih antara ukuran objek baru dan lama. |
object.eTag | String | 688A7BF4F233DC9C88A80BF985AB**** | ETag objek. |
object.key | String | source/a.png | Nama objek. |
object.objectMeta | Map | — | Metadata objek. |
object.objectMeta.mimeType | String | application/zip | Tipe konten objek. Untuk detailnya, lihat Bagaimana cara mengonfigurasi header Content-Type? |
object.objectMeta.userMeta | Map | — | Metadata yang ditentukan pengguna. Mengidentifikasi tujuan atau atribut objek. |
x-oss-meta-last-modified | String | 20250213 | Pasangan kunci-nilai metadata pengguna. Kunci harus diawali dengan x-oss-meta-. Dalam contoh ini, "x-oss-meta-last-modified":"20250213" mencatat tanggal objek terakhir dimodifikasi di mesin sumber. Untuk detailnya, lihat Metadata pengguna. |
ossSchemaVersion | String | 1.0 | Versi skema OSS. |
ruleId | String | 9adac8e253828f4f7c0466d941fa3db81161**** | ID aturan yang cocok dengan event. |
region | String | cn-hangzhou | Wilayah tempat bucket berada. |
requestParameters | Map | — | Parameter permintaan. |
requestParameters.sourceIPAddress | String | 140.205.XX.XX | Alamat IP pengirim permintaan. |
responseElements | Map | — | Detail respons. |
responseElements.requestId | String | 58F9FF2D3DF792092E12044C | ID permintaan. |
userIdentity | Map | — | Identitas pengguna. |
userIdentity.principalId | String | 164901546557**** | ID Akun Alibaba Cloud yang memulai permintaan. |
Pemicu 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
}| Parameter | Deskripsi | Contoh |
|---|---|---|
parameter | Parameter pemanggilan yang dikonfigurasi saat pemicu dibuat. | — |
source | Blok log yang akan dibaca fungsi dari Simple Log Service. Bidang: endpoint (titik akhir wilayah proyek Simple Log Service), projectName (nama proyek), logstoreName (nama penyimpanan log), shardId (ID shard), beginCursor (Offset awal untuk konsumsi data), endCursor (Offset akhir untuk konsumsi data). | Lihat contoh di atas. |
jobName | Nama pekerjaan ETL di Simple Log Service. Pemicu Simple Log Service harus sesuai dengan pekerjaan ETL. | 1f7043ced683de1a4e3d8d70b5a412843d81**** |
taskId | Pengenal untuk pemanggilan fungsi tertentu dalam pekerjaan ETL. | c2691505-38da-4d1b-998a-f1d4bb8c**** |
cursorTime | Stempel waktu UNIX dari entri log terakhir yang tiba di Simple Log Service. | 1529486425 |
Pemicu Alibaba Cloud CDN
Pemicu CDN mendukung empat jenis event: LogFileCreated, CachedObjectsRefreshed / CachedObjectsPushed, CdnDomainStarted / CdnDomainStopped, dan CdnDomainAdded / CdnDomainDeleted. Semua event memiliki struktur tingkat atas yang sama; bidang eventParameter bervariasi tergantung jenis event.
Semua event CDN memiliki bidang tingkat atas berikut:
| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
eventName | String | LogFileCreated | Jenis event. |
eventSource | String | cdn | Sumber event. |
region | String | cn-hangzhou | Wilayah Alibaba Cloud CDN. |
eventVersion | String | 1.0.0 | Versi protokol event. |
eventTime | String | 2018-06-14T15:31:49+08:00 | Waktu terjadinya event. |
traceId | String | c6459282-6a4d-4413-894c-e4ea3968**** | ID jejak untuk troubleshooting, disediakan oleh sumber event. |
userIdentity.aliUid | String | 164901546557**** | ID Akun Alibaba Cloud yang membuat namespace. |
resource.domain | String | example.com | Titik akhir. |
eventParameter | Map | — | Parameter spesifik event. Lihat tabel di bawah. |
LogFileCreated
Ganti filePath dengan path log Alibaba Cloud CDN atau file uji.
{
"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
}
}
]
}Bidang eventParameter untuk LogFileCreated:
| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
domain | String | example.com | Titik akhir. |
startTime | String | 1528959600 | Waktu mulai file log. |
endTime | String | 1528959900 | Waktu akhir file log. |
fileSize | String | 1788115 | Ukuran file log. |
filePath | String | http://cdnlog.cn-hangzhou.oss.aliyun-inc.com/... | Lokasi file log. |
CachedObjectsRefreshed dan 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****"
}
}
]
}Bidang eventParameter untuk CachedObjectsRefreshed dan CachedObjectsPushed:
| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
domain | String | example.com | Titik akhir. |
objectPath | String | /2018/03/16/13/33b430c57e7.mp4 | Pengenal resource. |
createTime | String | 1521180769 | Waktu mulai refresh. |
completeTime | String | 1521180777 | Waktu selesai refresh. |
objectType | String | File | Item yang direfresh. Nilai valid: File, Directory. |
taskId | String | 2089687230 | ID tugas refresh. |
CdnDomainStarted dan 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****"
}
}
]
}Bidang eventParameter untuk CdnDomainStarted dan CdnDomainStopped:
| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
domain | String | example.com | Titik akhir. |
status | String | online | Status nama domain yang dipercepat. |
CdnDomainAdded dan 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****"
}
}
]
}Bidang eventParameter untuk CdnDomainAdded dan CdnDomainDeleted:
| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
domain | String | example.com | Titik akhir. |
Pemicu 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
}
]
}
]
}| Parameter | Deskripsi |
|---|---|
Version | Versi muatan. Contoh: Sync-v1. Tipe: String. |
Records | Array baris data inkremental. Setiap elemen berisi Type (jenis operasi baris; nilai valid: PutRow, UpdateRow, DeleteRow; tipe: String) dan Info (metadata baris, termasuk Timestamp, waktu modifikasi terakhir dalam UTC; tipe: INT64). |
PrimaryKey | Array kolom kunci primer. Setiap elemen berisi ColumnName (nama kolom; tipe: String) dan Value (nilai kolom; tipe: formated_value, yang dapat berupa INTEGER, STRING, atau BLOB). |
Columns | Array kolom atribut. Setiap elemen berisi Type (jenis operasi; nilai valid: Put, DeleteOneVersion, DeleteAllVersions; tipe: String), ColumnName (nama kolom; tipe: String), Value (nilai kolom; tipe: formatted_value, yang dapat berupa INTEGER, BOOLEAN, DOUBLE, STRING, atau BLOB), dan Timestamp (waktu modifikasi terakhir dalam UTC; tipe: INT64). |
Pemicu topik Simple Message Queue (sebelumnya MNS)
Format event bergantung pada pengaturan Event Format yang dikonfigurasi untuk pemicu.
Format STREAM
Tanpa atribut pesan — event berupa string JSON biasa:
'hello topic'Jika pesan tidak memiliki atribut, konten event berupa string berformat JSON.
Dengan atribut pesan — event mencakup pasangan kunci-nilai atribut:
Konten event mencakup pasangan kunci-nilai dari atribut pesan. Untuk detailnya, lihat PublishMessage.
{
"body": "hello topic",
"attrs": {
"Extend": "{\"key\":\"value\"}"
}
}Format JSON
Tanpa atribut pesan:
{
"TopicOwner": "118620210433****",
"Message": "hello topic",
"Subscriber": "118620210433****",
"PublishTime": 1550216480040,
"SubscriptionName": "test-fc-subscribe",
"MessageMD5": "BA4BA9B48AC81F0F9C66F6C909C3****",
"TopicName": "Mytopic",
"MessageId": "2F5B3C082B923D4EAC694B76D928****"
}Dengan atribut pesan — event mencakup pasangan kunci-nilai atribut selain bidang standar:
Konten event mencakup pasangan kunci-nilai dari atribut pesan. Untuk detailnya, lihat PublishMessage.
{
"key": "value",
"TopicOwner": "118620210433****",
"Message": "hello topic",
"Subscriber": "118620210433****",
"PublishTime": 1550216302888,
"SubscriptionName": "test-fc-subscribe",
"MessageMD5": "BA4BA9B48AC81F0F9C66F6C909C3****",
"TopicName": "Mytopic",
"MessageId": "2F5B3C281B283D4EAC694B742528****"
}Parameter event format JSON:
| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
key | String | value | Pasangan kunci-nilai atribut pesan. |
TopicOwner | String | 118620210433**** | ID akun pemilik topik Simple Message Queue (sebelumnya MNS). |
Message | String | hello topic | Isi pesan. |
Subscriber | String | 118620210433**** | ID akun subscriber topik. |
PublishTime | Int | 1550216302888 | Waktu pesan dipublikasikan. |
SubscriptionName | String | test-fc-subscribe | Nama langganan. |
MessageMD5 | String | BA4BA9B48AC81F0F9C66F6C909C3**** | Hash MD5 isi pesan. |
TopicName | String | Mytopic | Nama topik Simple Message Queue (sebelumnya MNS). |
MessageId | String | 2F5B3C281B283D4EAC694B742528**** | ID pesan. |
Pemicu antrian MNS
Event berupa array pesan berformat CloudEvents. Untuk bidang spesifikasi CloudEvents (specversion, id, source, type, datacontenttype, subject, time, dan bidang ekstensi Alibaba Cloud), lihat Ikhtisar.
[
{
"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"
}
}
]Bidang data:
| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
requestId | String | 606EA3074344430D4C81**** | ID permintaan. Setiap permintaan memiliki ID unik. |
messageId | String | C6DB60D1574661357FA227277445**** | ID pesan. Setiap pesan memiliki ID unik. |
messageBody | String | TEST | Isi pesan. |
Pemicu ApsaraMQ for RocketMQ
Event berupa array pesan berformat CloudEvents. Untuk bidang spesifikasi CloudEvents, lihat Ikhtisar.
[
{
"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"
}
}
]Bidang data:
| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
topic | String | TopicName | Nama topik. |
systemProperties | Map | — | Properti sistem. |
systemProperties.MIN_OFFSET | Int | 0 | Offset paling awal. |
systemProperties.TRACE_ON | Boolean | true | Apakah jejak pesan tersedia. Nilai valid: true, false. |
systemProperties.MAX_OFFSET | Int | 8 | Offset terbaru. |
systemProperties.MSG_REGION | String | cn-hangzhou | Wilayah tempat pesan dikirim. |
systemProperties.KEYS | String | systemProperties.KEYS | Kunci yang digunakan untuk memfilter pesan. |
systemProperties.CONSUME_START_TIME | Long | 1628577790396 | Waktu mulai konsumsi pesan, dalam milidetik. |
systemProperties.UNIQ_KEY | String | AC14C305069E1B28CDFA3181CDA2**** | Kunci unik pesan. |
systemProperties.TAGS | String | systemProperties.TAGS | Tag yang digunakan untuk memfilter pesan. |
systemProperties.INSTANCE_ID | String | MQ_INST_123456789098****_BXhFHryi | ID instans ApsaraMQ for RocketMQ. |
userProperties | Map | — | Properti yang ditentukan pengguna. |
body | String | TEST | Isi pesan. |
Pemicu ApsaraMQ for RabbitMQ
Event berupa array pesan berformat CloudEvents. Untuk bidang spesifikasi CloudEvents, lihat Ikhtisar.
[
{
"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****"
}
}
}
]Bidang data:
| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
body | Map | — | Isi pesan. |
body.Hello | String | EventBridge | Data pengguna. |
props | Map | — | Atribut pesan. |
props.contentEncoding | String | utf-8 | Format encoding isi pesan. |
props.messageId | String | f7622d51-e198-41de-a072-77c1ead7**** | ID pesan. Setiap pesan memiliki ID unik. |
envelope | Map | — | Amplop pesan. |
envelope.deliveryTag | Int | 98 | Tag pengiriman. |
envelope.exchange | String | — | Exchange yang merutekan pesan. |
envelope.redeliver | Boolean | false | Apakah pesan merupakan pengiriman ulang. Nilai valid: true, false. |
envelope.routingKey | String | housekeeping | Kunci routing pesan. |
Pemicu ApsaraMQ for Kafka
Event berupa array pesan berformat CloudEvents. Untuk bidang spesifikasi CloudEvents, lihat Ikhtisar.
[
{
"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"
}
}
]Bidang data:
| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
topic | String | TopicName | Nama topik. |
partition | Int | 1 | Partisi pada instans ApsaraMQ for Kafka. |
offset | Int | 0 | Offset pesan. |
timestamp | String | 1655952591589 | Stempel waktu saat konsumsi pesan dimulai. |
Pemicu DTS
Event berupa array pesan berformat CloudEvents. Untuk bidang spesifikasi CloudEvents, lihat Ikhtisar.
[
{
"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"
}
]Bidang data:
| Parameter | Tipe | Deskripsi |
|---|---|---|
id | String | ID entri data DTS. |
topicPartition | Array | Detail partisi topik tempat event didorong. |
topicPartition.hash | String | Parameter penyimpanan dasar DTS. |
topicPartition.partition | String | Partisi. |
topicPartition.topic | String | Nama topik. |
offset | Int | Offset entri data DTS. |
sourceTimestamp | Int | Stempel waktu saat entri data DTS dihasilkan. |
operationType | String | Jenis operasi entri data DTS. |
schema | Array | Informasi skema database. |
schema.recordFields | Array | Detail bidang. |
schema.recordFields[].fieldName | String | Nama bidang. |
schema.recordFields[].rawDataTypeNum | Int | Nilai pemetaan tipe bidang. Sesuai dengan bidang dataTypeNumber dalam data inkremental yang dideserialisasi dari instans pelacakan perubahan. Untuk detailnya, lihat Gunakan klien Kafka untuk mengonsumsi data yang dilacak. |
schema.recordFields[].isPrimaryKey | Boolean | Apakah bidang tersebut merupakan kunci primer. |
schema.recordFields[].isUniqueKey | Boolean | Apakah bidang tersebut memiliki kunci unik. |
schema.recordFields[].fieldPosition | String | Posisi bidang. |
schema.nameIndex | Array | Informasi pengindeksan bidang berdasarkan nama bidang. |
schema.schemaId | String | ID skema database. |
schema.databaseName | String | Nama database. |
schema.tableName | String | Nama tabel. |
schema.primaryIndexInfo | String | Detail indeks kunci primer. |
schema.primaryIndexInfo.indexType | String | Jenis indeks. |
schema.primaryIndexInfo.indexFields | Array | Bidang yang diindeks. |
schema.primaryIndexInfo.cardinality | String | Kardinalitas kunci primer. |
schema.primaryIndexInfo.nullable | Boolean | Apakah kunci primer dapat bernilai null. |
schema.primaryIndexInfo.isFirstUniqueIndex | Boolean | Apakah indeks tersebut merupakan indeks unik pertama. |
schema.uniqueIndexInfo | String | Indeks unik. |
schema.foreignIndexInfo | String | Indeks kunci asing. |
schema.normalIndexInfo | String | Indeks reguler. |
schema.databaseInfo | Array | Detail database. |
schema.databaseInfo.databaseType | String | Mesin database. |
schema.databaseInfo.version | String | Versi mesin database. |
schema.totalRows | Int | Jumlah total baris dalam tabel. |
beforeImage | String | Nilai bidang sebelum operasi. |
values | String | Nilai bidang yang dicatat. |
size | Int | Ukuran bidang yang dicatat. |
afterImage | String | Nilai bidang setelah operasi. |
Pemicu ApsaraMQ for MQTT
[
{
"props": {
"firstTopic": "testTopic",
"secondTopic": "/testMq4****",
"clientId": "consumerGroupID@@@xxx"
},
"body": "hello mq4Iot pub sub msg"
}
]| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
props | Map | — | Atribut pesan. |
props.firstTopic | String | testTopic | Topik induk yang digunakan untuk mengirim dan menerima pesan. |
props.secondTopic | String | /testMq4**** | Topik anak. |
props.clientId | String | consumerGroupID@@@xx | ID klien. |
body | String | hello mq4Iot pub sub msg | Isi pesan. |
Pemicu Apache RocketMQ yang dikelola sendiri
[
{
"msgId": "7F0000010BDD2A84AEE70DA49B57****",
"topic": "testTopic",
"systemProperties": {
"UNIQ_KEY": "7F0000010BDD2A84AEE70DA49B57****",
"CLUSTER": "DefaultCluster",
"MIN_OFFSET": "0",
"TAGS": "TagA",
"MAX_OFFSET": "128"
},
"userProperties": {},
"body": "Hello RocketMQ"
}
]| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
msgId | String | 7F0000010BDD2A84AEE70DA49B57**** | ID pesan Apache RocketMQ. |
topic | String | testTopic | Nama topik dalam kluster Apache RocketMQ. |
systemProperties | Map | — | Properti sistem. |
systemProperties.UNIQ_KEY | String | 7F0000010BDD2A84AEE70DA49B57**** | Kunci unik pesan. |
systemProperties.CLUSTER | String | DefaultCluster | Nama kluster Apache RocketMQ. |
systemProperties.MIN_OFFSET | Int | 0 | Offset minimum. |
systemProperties.MAX_OFFSET | Int | 128 | Offset maksimum. |
systemProperties.TAGS | String | TagA | Tag yang digunakan untuk memfilter pesan. |
userProperties | Map | — | Properti yang ditentukan pengguna. |
body | String | Hello RocketMQ | Isi pesan. |