更新时间:2022-04-29 GMT+08:00
分享

使用GaussDB(for Mongo)触发器

本节介绍创建GaussDB(for Mongo)触发器,供用户了解GaussDB(for Mongo)触发器的使用方法。

使用GaussDB(for Mongo)触发器,每次更新数据库中的表时,都可以触发FunctionGraph函数以执行额外的工作,关于GaussDB(for Mongo)触发器事件源具体介绍请参见支持的事件源

该功能当前仅支持以下区域:华北-北京四,华北-乌兰察布二零一,华东-上海一,华南-广州,中国-香港,亚太-新加坡。

前提条件

进行操作之前,需要做好以下准备。

  • 已经创建函数,创建过程请参考创建函数
  • 创建GaussDB(for Mongo)触发器,必须开启函数工作流VPC访问,请参考函数配置VPC
  • 已经创建GaussDB(for Mongo)云数据库实例,创建过程请参考云数据库GaussDB NoSQL 实例。

创建GaussDB触发器

  1. 登录FunctionGraph控制台,进入“函数”界面。
  2. 在“函数”界面,选择“函数列表”,单击HelloWorld函数名称,进入HelloWorld函数详情界面。
  3. 在HelloWorld函数详情界面,单击“触发器”页签。
  4. 在“触发器”页签,单击“创建触发器”,弹出“创建触发器”对话框。
  5. 设置以下信息。

    • 触发器类型:选择“云数据库GaussDB(for Mongo)”。
    • GaussDB(for Mongo):选择已创建的GaussDB实例。
    • 密码:GaussDB数据库实例管理员rwuser的密码。
    • 数据库:输入GaussDB(for Mongo)实例数据库名称。admin、local、config为保留数据库,不能使用。
    • 集合:数据库集合名称。
    • 批处理大小:每批从数据库读取的记录的数量。

  6. 单击“确定”,完成GaussDB触发器的创建。

配置GaussDB事件触发函数

  1. 登录FunctionGraph控制台,进入“函数”界面。
  2. 在“函数”界面,选择“函数列表”,单击HelloWorld函数名称,进入HelloWorld函数详情界面。
  3. 在HelloWorld函数详情页,选择函数版本,单击“请选择测试事件 > 配置测试事件”,弹出“配置测试事件”对话框。
  4. 填写如表1所示测试信息后,单击“保存”。

    表1 测试信息

    参数

    说明

    配置测试事件

    可创建新的测试事件也可编辑已有的测试事件。

    选择默认值:“创建新的测试事件”。

    事件模板

    选择"gaussmongo-event-template"模板,使用系统内置GaussDB(for Mongo)事件模板。

    事件名称

    事件名称必须以大写或小写字母开头,支持字母(大写或小写),数字和下划线“_”(或中划线“-”),并以字母或数字结尾,长度为1-25个字符,例如gaussmongo-123test。

    测试事件

    自动加载系统内置GaussDB(for Mongo)事件模板,本例不做修改。

    测试事件模板示例如下:

    {
    	"records": [{
    		"event_name": "\"insert\"",
    		"event_version": "1.0",
    		"event_source": "gauss_mongo",
    		"region": "cn-north-1",
    		"gauss_mongo": {
    			"full_document": "{\"_id\": {\"$oid\":\"5f61de944778db5fcded3f87\"},\"zhangsan\": \"zhangsan\"}",
    			"ns": "{\"db\": \"zhangsan\",\"coll\": \"zhangsan\"}",
    			"size_bytes": "100",
    			"token": "{\"_data\": \"825F61DE940000000129295A1004A2D9AE61206C43A5AF47CAF7C5C00C5946645F696400645F61DE944778DB5FCDED3F870004\"}"
    		},
    		"event_source_id": "51153d19-2b7d-402c-9a79-757163258a36"
    	}],
    	"vernier": "{\"_data\": \"825F61DE940000000129295A1004A2D9AE61206C43A5AF47CAF7C5C00C5946645F696400645F61DE944778DB5FCDED3F870004\"}"
    }

  5. 单击“测试”,可以得到函数运行结果,函数会返回输入GaussDB(for Mongo)数据。如图1所示。

    图1 GaussDB(for Mongo)触发器测试结果

分享:

    相关文档

    相关产品

close