使用opa-eval命令评估文件夹中的多个文件



我在OPA网站上看到了这一点,我可以使用以下内容:

在命令行上评估策略。/opa-eval-i input.json-d example.rego

在我的情况下,我有多个输入文件,我已经将其修改为

/opa-eval-i/tmp/tfplan.json-d/tmp/example.rego-d/tmp/input1.json-d/tmp-input2.json

我可以直接修改它来读取tmp文件夹中的所有json文件吗?

是!CLI将接受-d/--data-b/--bundle参数的目录,并从中递归加载文件。

Ex with:

/tmp/foo/input1.json
/tmp/foo/input2.json

opa eval -d /tmp/foo/input1.json -d /tmp/foo/input2.json ..

与相同

opa eval -d /tmp/foo ..

请记住,-d/--data将尝试加载目录中的ANY文件,这有时会导致冲突(例如,数据文档中的重复密钥(或加载不正确的文件。因此,在指向/tmp时要小心,因为它可能包含您不需要的其他文件(请注意,上面的示例使用了一个子目录(。通常,我们建议使用-b/--bundle,并将文件提供为data.json,其目录结构遵循捆绑包规范https://www.openpolicyagent.org/docs/latest/management/#bundle-文件格式,可以帮助避免大多数常见问题。

最新更新