【问题标题】:Evaluating multiple files from a folder using opa eval command使用 opa eval 命令评估文件夹中的多个文件
【发布时间】:2020-08-17 15:38:36
【问题描述】:

我在 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

除了将文件单独指定为input1,input2等之外,我可以直接修改它以读取tmp文件夹中存在的所有json文件吗?

【问题讨论】:

    标签: open-policy-agent rego


    【解决方案1】:

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

    例如:

    /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-file-format,这有助于避免大多数常见问题。

    【讨论】:

      猜你喜欢
      • 2021-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-17
      • 1970-01-01
      相关资源
      最近更新 更多