
# 创建触发器
#### 使用说明
根据需求设计触发器，使得系统按照设计，自动执行某任务，完成目标。本章节以基于"Employee__CST"对象，创建一个触发器，当系统中该对象"name"字段取值为"zhangsan"的记录创建或更新时，给用户"zhangsan@qq.com"发送通知邮件为例，向您介绍如何创建一个触发器。
#### 前提条件
已成功创建邮件模板并配置Email告警。通过该Email告警，系统可以给用户"zhangsan@qq.com"发送电子邮件。
#### 操作步骤
1. 参考[登录经典应用设计器](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_5025.html)中操作，登录经典版应用设计器。
2. 将鼠标放在应用的某个文件夹上（如Logic），单击"+"，选择"触发器"。 
   图1选择触发器   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932887016.png)
   
   
3. 设置基本信息，单击"添加"。 
   图2新建触发器   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285529.png "点击放大")
   - 对象：关联的对象（不可编辑）。本示例选择"Employee__CST"。
   
   - 标签：触发器的标签，用于在页面展示。本示例设置为SendEmailProcess。
   
   - 名称：触发器的唯一标识，系统根据标签取值自动生成。本示例设置为SendEmailProcess。
   
   - 描述：触发器的描述信息。
   
   - 触发类型：触发器启动类型，新建后可修改。本示例选择"插入或更新记录时"。
     - 仅在插入记录时：当系统创建某条记录时。
     
     - 仅在更新记录时：当系统更新某条记录时。
     
     - 插入或更新记录时：当系统创建或更新某条记录时。
     
     - 被别的触发器调用时：被其他触发器所调用时。
     
     - 收到平台事件时：被事件（event）触发时。选中该条件时，请在"事件"中配置具体事件。
      
   
   
   
   
4. 单击"添加条件"，进入创建规则条件页面，进行配置，并单击"保存"。 
   图3创建规则条件   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046408.png "点击放大")
   - 条件名称：新建条件规则的名称。
   
   - 执行操作条件：进入该条件规则的条件。本示例设置为"当条件满足时"。
   
   - 设置条件："字段"配置为"name"，"操作符"配置为"等于"，"类型"配置为"常量"，"值"配置为""zhangsan""。
   
   
   
   
5. 单击"添加操作"，设置满足规则条件后执行的动作，单击"保存"。 
   图4创建动作   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046412.png "点击放大")
   - 操作类型：设置动作类型，本示例选择"邮件告警"。
   
   - 操作名称：新建动作的名称。
   
   - 电子邮件告警：选择配置好的邮件告警。
   
   
   
   
6. 单击触发器编辑页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125737.png)，启用触发器。
7. 结果验证。 
   基于"Employee__CST"对象，创建一条记录，对象"name"字段取值为"zhangsan"。用户"zhangsan@qq.com"成功收到邮件通知，表明触发器创建成功。
   
   
 
#### 常见问题
是否拥有执行触发器设定的操作权限，取决于触发器的创建人还是触发人？
**回答：**是否有执行触发器设定的操作权限，取决于触发者本人是否有相关权限，和触发器创建人无关。例如，某个触发器关联了对象"D__CST"，触发类型是"插入或更新记录时"，触发时执行脚本C，即对象"D__CST"数据有新增或更新时，会触发该触发器，从而执行脚本C。用户A是触发器的创建人，没有对象"D__CST"的操作权限和脚本C的执行权限，用户B有"D__CST"的操作权限和脚本C的执行权限，当用户B更新"D__CST"对象数据时，会触发该触发器，执行脚本C。
