数据浏览器有什么变化吗?无法通过 API 获取查询

This stopped working two days ago for a hosted customer:


  HTTP_STATUS=$(curl -s -o /tmp/discourse_response.json -w \"%{http_code}\" \
    -X POST \"https://HOSTNAME/admin/plugins/discourse-data-explorer/queries/3/run\" \
    -H \"Content-Type: multipart/form-data;\" \
    -H \"Api-Key: $DISCOURSE_API_KEY\" \
    -H \"Api-Username: $DISCOURSE_API_USER\" \
    -F \"limit=ALL\")

I see successful use of that key:

It has query-only permissions:

I double-checked that the URL of the query hadn’t changed again by Reverse engineer the Discourse API.

Then I generated a new global key and I’m still getting a 400 error.

I don’t know what the problme could be

是 400 还是 406?

尝试添加一个 Accept: application/json 标头。

等等。我找到了:

{"errors":["You supplied invalid parameters to the request: limit"],"error_type":"invalid_parameters"}

所以问题是 -F "limit=ALL"

那么我的问题是为什么它停止工作了?

1 个赞
1 个赞

非常感谢。但我无法使用 limit=ALL,即使作为拥有全局密钥的管理员也是如此。客户端需要下载所有数据(我目前不清楚限制是多少,或者数据集可能有多大)。

这正是拉取请求(PR)的目标!

选项是备份,或者使用以下方式进行分页:

select * from table where id > (:page * 5000)

这样你就可以分 5k 的块获取数据。

它奏效了!

我正在进行的常规查询的最大值是 5000 吗?如果是这样,我绝对安全了。

:laughing:

看起来是 10k

3 个赞

非常感谢。看来我反正也不需要那个无限制了。:slight_smile:

我很高兴我弄明白了如何使用 Github Actions 每天拉取此查询并将其上传到供应商的 FTP 站点。在过去几周里,它已经中断了两次。希望这是很长一段时间内的最后一次!

1 个赞