pfaffman
(Jay Pfaffman)
1
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エラーが返されます。
問題が何であるかわかりません。
Falco
(Falco)
2
400 または 406 ですか?
Accept: application/json ヘッダーを追加してみてください。
pfaffman
(Jay Pfaffman)
3
お待ちください。見つけました。
{"errors":["You supplied invalid parameters to the request: limit"],"error_type":"invalid_parameters"}
つまり、問題は -F "limit=ALL" です。
それで、私の質問は、なぜそれが機能しなくなったのかということです。
「いいね!」 1
pfaffman
(Jay Pfaffman)
5
誠にありがとうございます。しかし、グローバルキーを持つ管理者であっても limit=ALL を使用できませんでした。クライアントはすべてのデータをダウンロードする必要があります(現在、制限がどれくらいなのか、データセットがどれくらいの大きさになるのかは不明です)。
Falco
(Falco)
6
それがまさにPRが目指していたことです!
オプションは、バックアップ、または次のようなページネーションを使用することです。
select * from table where id > (:page * 5000)
これにより、5kごとにチャンクで取得できます。
pfaffman
(Jay Pfaffman)
7
動作しています!
私が実行している通常のクエリの最大値は5000ですか?もしそうなら、私は間違いなく安全です。
pfaffman
(Jay Pfaffman)
9
どうもありがとうございます。結局、その無制限は必要なかったようです。
このクエリを毎日プルしてベンダーのFTPサイトにアップロードするためにGitHub Actionsの使い方を把握できたことに非常に満足しています。過去2週間に2回壊れました。これがしばらくの間、最後であることを願っています!
「いいね!」 1