Что-то изменилось в Data Explorer? Не могу получить запрос через API

Это перестало работать два дня назад для размещенного клиента:


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

Я вижу успешное использование этого ключа:

У него есть разрешения только на выполнение запросов:

Я дважды проверил, не изменился ли URL запроса снова, используя обратную разработку API Discourse.

Затем я сгенерировал новый глобальный ключ, но всё ещё получаю ошибку 400.

Я не знаю, в чём может быть проблема.

400 или 406?

Попробуйте добавить заголовок Accept: application/json.

Погодите. Я нашёл это:

{"errors":["Вы передали недопустимые параметры в запрос: limit"],"error_type":"invalid_parameters"}

Так что проблема в -F "limit=ALL"

Теперь мой вопрос: почему это перестало работать?

1 лайк
1 лайк

Спасибо большое. Однако я не смог использовать limit=ALL, даже будучи администратором с глобальным ключом. Клиенту необходимо загрузить все данные (на данный момент мне неясно, каков лимит или какого размера, скорее всего, будет этот набор).

Именно для этого и был создан этот PR!

Варианты: резервное копирование или использование пагинации с помощью

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

чтобы получать данные порциями по 5 тысяч за раз.

Работает!

Максимальное значение для обычного запроса, который я выполняю, равно 5000? Если да, то я определённо в безопасности.

:laughing:

Похоже, что это 10 тысяч.

3 лайка

Огромное спасибо. Похоже, что безлимитный тариф мне всё равно не понадобился. :slight_smile:

Я очень рад, что смог настроить GitHub Actions для ежедневного выполнения этого запроса и загрузки результатов на FTP-сайт поставщика. За последние пару недели это дважды давало сбой. Надеюсь, что в ближайшее время это больше не повторится!

1 лайк