使用 rest api 与本地工具查询时 OPA 中的不同输入格式

Different input formats in OPA when query using rest api vs local tool

当使用带有 opa eval 命令的本地工具在 Open Policy Agent (OPA) 中评估查询时,查询的输入只是一个正常的 json/yaml。 Ex 输入 yaml:

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels:
    app: nginx

但是当使用 opa rest api 评估查询时,json/yaml 值必须嵌入到名为 [= 的键下23=]输入。例如:

input:
  apiVersion: v1
  kind: Pod
  metadata:
    name: nginx-pod
    labels:
      app: nginx

如果值是从文件中读取的,那么还需要包含键 input,这在某些以 yaml 文件为清单的应用程序中不适用。

我想知道我查询 opa rest api 的方法是否正确,以及是否存在使用 opa 查询时不需要键 input 的方法休息 api.

是的,这是 data API. Simply replace /v1/data/ in your query with /v0/data. See the docs 的 v0(无输入)和 v1(输入)之间的主要区别。