---
source_url: https://docs.dolphindb.cn/zh/funcs/a/appendEvent.html
fetched_at: 2026-05-19T09:13:02Z
category: funcs
title: appendEvent
sha1: dfcfdd92b7341e9174d6dc06a7507c71497b31fe
---

# appendEvent

## 语法

`appendEvent(engine, events)`

## 详情

将事件实例写入 CEP 引擎的事件输入队列，无需序列化与反序列化。

## 参数

**engine** 引擎句柄。目前支持序列化引擎和 CEP 引擎。

**events** 可以是事件类型实例或者字典。如果指定为字典，系统会根据键值对构造出事件实例，因此字典的键必须包含事件类型（eventType ）
字段和事件定义中指定的事件字段（eventField）。

## 例子

定义事件 Orders，其包含字段 sym，val0，val1，val2：

```dolphindb
class Orders{
    eventTime :: TIMESTAMP 
    sym :: STRING
    val0 :: INT
    val1 :: FLOAT
    val2 :: DOUBLE
    def Orders(s,v0,v1,v2){
        sym = s
        val0 = v0
        val1 = v1
        val2 = v2
        eventTime = now()
    }
}
```

定义一个简单的 monitor：

```dolphindb
class mainMonitor:CEPMonitor {
    ordersTable :: ANY  // 定义成员变量 ordersTable，不限制数据类型和形式
    def mainMonitor(){
        ordersTable = array(ANY, 0)  // 这里确定 ordersTable 为一个元组
    }    

    def updateOrders(event) {
        ordersTable.append!([event.sym, event.val0, event.val1, event.val2])
    }
    def onload(){
        addEventListener(updateOrders, 'Orders',,'all') 
    }
}
```

创建 CEP 引擎如下：

```dolphindb
dummy = table(array(TIMESTAMP, 0) as eventTime,array(STRING, 0) as eventType,  array(BLOB, 0) as blobs)
engine=createCEPEngine(name="test_CEP",monitors=<mainMonitor()>,dummyTable=dummy,eventSchema=Orders,timeColumn='eventTime')
```

向引擎中追加事件：

- *events*
  指定为一个事件类型实例：

  ```dolphindb
  appendEvent(`test_CEP,Orders("a000", 3, 3.0, 30.0))
  ```
- *events*
  指定为一个字典：

  ```dolphindb
  d=dict(['eventType',"sym", "val0","val1", "val2", "eventTime"],["Orders",'a000',5,float(3.6),double(29.3),2025.09.24T11:35:22.789])
  appendEvent(`test_CEP,d)
  ```

**相关函数**：[addEventListener](addEventListener.html), [createCEPEngine](../c/createCEPEngine.html), [emitEvent](../e/emitEvent.html), [routeEvent](../r/routeEvent.html), [sendEvent](../s/sendEvent.html)
