データエクスプローラーで何か変更がありましたか?API経由でクエリを取得できません

2日前にホストされているお客様で、これが機能しなくなりました。


  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\")

そのキーが正常に使用されているのを確認しました。

クエリ専用の権限があります。

Discourse APIのリバースエンジニアリングにより、クエリのURLが再び変更されていないことを再確認しました。

その後、新しいグローバルキーを生成しましたが、まだ400エラーが返されます。

問題が何であるかわかりません。

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のようです

「いいね!」 2

どうもありがとうございます。結局、その無制限は必要なかったようです。:slight_smile:

このクエリを毎日プルしてベンダーのFTPサイトにアップロードするためにGitHub Actionsの使い方を把握できたことに非常に満足しています。過去2週間に2回壊れました。これがしばらくの間、最後であることを願っています!

「いいね!」 1