在 OPA 中缓存常量?

Caching of constants in OPA?

也许有些人为的例子,但对于像这样的顶级作业:

cache_duration_seconds := 60 * 60 * 24 * 30

OPA 是否将该值识别为常量并在请求之间保留它,或者它是否会在每次调用时计算?

OPA 将记住规则生成的值,并在策略查询期间将其缓存。换句话说,在这种情况下,如果 cache_duration_seconds 在策略中被多次引用,它将被计算一次,然后在每个位置重新使用。下次查询策略时,重新计算该值。