mirror of
https://github.com/LamGC/Oracle-Sentry.git
synced 2025-04-29 14:17:34 +00:00
1.7 KiB
1.7 KiB
Groovy 脚本编写
基本格式
Groovy 语言的脚本基本格式如下:
info {
// 脚本信息, 遵循 Java 的 GAV 规则.
// 脚本英文名
name 'demo'
// 所属组(如果有域名, 就是自己的域名的倒序, 例如 tieba.baidu.com 就是 com.baidu.tieba)
// 如果没有, 也可以用 github 的.
group 'org.example'
// 脚本版本号.
version '0.0.1'
}
// 注册触发器.
// 目前触发器有两种选择
// once 单次触发器: 只会运行一次.
// timer 定时器触发器: 根据设定的 cron 表达式定时运行.
trigger("once") {
// once 触发器没有参数.
// 运行代码块, 要执行的东西都在这个代码块里.
run {
// 在这里做些什么, 比如
println "From script."
}
}
// 在外面可以定义一些全局变量.
def formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
// 这里注册定时器触发器.
trigger("timer") {
// time 参数指定 Cron 表达式, 像这样设置表达式字符串后就可以了.
// 比如这里设定一分钟执行一次.
time "0 0/1 * * * ? "
run {
// 在这里做些什么, 比如
println "当前时间: ${formatter.format(LocalDateTime.now())}"
}
}
Groovy 语言比较贴近 Java,实际开发与 Java 没什么区别(相比于 Java 多了不少语法糖,但还是兼容 Java 的)。
我能在脚本中使用什么?
目前你能使用的东西有:
HTTP
:一个 HttpClient,允许你访问 Http 资源。InstanceManager
:计算实例(就是服务器)管理器,可以获取所有的服务器实例,通过实例对象能获取和操作服务器。
除此之外,还有 Java 基本库与 Groovy 基本库可供脚本使用。