创建函数
你可以使用任何编程语言来编写你的函数,前提是它能够将你的代码编译成 wasm 文件。
这里我们用仓库里的一个 Go 示例项目(go-event-handler),来演示怎么编写代码并构建出一个 wasm 文件。
安装环境
Clone 示例代码
❯ git clone https://github.com/Joeyscat/open-mongodb-trigger.git
❯ cd open-mongodb-trigger/examples/wasm/go-event-handler
❯ tree
.
├── entry.go
├── Event_json.go
├── EventResult_json.go
├── go.mod
├── go.sum
├── lib.go # 在 handlerEvent 函数中添加你的代码
├── Makefile
├── model
│ ├── ChangeNamespace_json.go
│ ├── ChangeStreamEvent_json.go
│ ├── EventResult_json.go
│ ├── model.go
│ └── ResumeToken_json.go
├── model.go
└── README.md
编写函数
修改 lib.go 文件中的 handlerEvent 函数。
编译代码
❯ make build
go generate model/model.go
tinygo build -o target/example_wasm_go_event_handler_lib.wasm -target wasi
❯ tree target/
target/
└── example_wasm_go_event_handler_lib.wasm
部署 wasm 函数
编译得到 wasm 文件之后,就可以用它来创建一个函数。
❯ tri function create -h
create a function
Usage: tri function create --name <NAME> --path <PATH> --type <TYPE> --user-id <USER_ID> --lang <LANG>
Options:
-n, --name <NAME>
-p, --path <PATH> path of the function file (*.wasm)
-t, --type <TYPE> now supported: wasm
-u, --user-id <USER_ID>
-l, --lang <LANG>
-h, --help Print help information
创建函数成功我们会得到一个函数 ID ,后面创建触发器的时候会用到。