Qualcosa è cambiato nel data explorer? Impossibile ottenere la query tramite API

Ha smesso di funzionare due giorni fa per un cliente ospitato:


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

Vedo un uso riuscito di quella chiave:

Ha permessi solo per le query:

Ho ricontrollato che l’URL della query non sia cambiato di nuovo tramite Reverse engineer the Discourse API.

Quindi ho generato una nuova chiave globale e sto ancora ricevendo un errore 400.

Non so quale possa essere il problema

400 o 406?

Prova ad aggiungere un header Accept: application/json.

Aspetta. L’ho trovato:

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

Quindi il problema è -F "limit=ALL"

Quindi ora la mia domanda è perché ha smesso di funzionare?

1 Mi Piace
1 Mi Piace

Grazie mille. Tuttavia, non sono riuscito a usare limit=ALL nemmeno come amministratore con una chiave globale. Il client deve scaricare tutti i dati (attualmente non mi è chiaro quale sia il limite o quanto sarà grande il set).

Questo è esattamente ciò che la PR mirava a fare!

Le opzioni sono i backup, o fare la paginazione con

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

in modo da ottenerlo in blocchi da 5k.

Funziona!

Il massimo per una normale query che sto eseguendo è 5000? Se è così, sono decisamente al sicuro.

:laughing:

Sembra che sia 10k

2 Mi Piace

Grazie mille. Sembra che non avessi comunque bisogno di quel limite massimo. :slight_smile:

Sono stato molto soddisfatto di aver capito come usare le GitHub actions per estrarre quotidianamente questa query e caricarla sul sito FTP di un fornitore. Si è interrotto due volte nelle ultime due settimane. Spero sia l’ultima volta per un bel po’!

1 Mi Piace