¿Algo ha cambiado en el explorador de datos? No puedo obtener la consulta vía API

Esto dejó de funcionar hace dos días para un cliente alojado:


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

Veo un uso exitoso de esa clave:

Tiene permisos solo de consulta:

Verifiqué dos veces que la URL de la consulta no hubiera cambiado de nuevo mediante Ingeniería inversa de la API de Discourse.

Luego generé una nueva clave global y sigo recibiendo un error 400.

No sé cuál podría ser el problema.

¿400 o 406?

Intenta agregar una cabecera Accept: application/json.

Espera. Lo encontré:

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

Así que el problema es -F "limit=ALL"

Entonces, ¿por qué dejó de funcionar?

1 me gusta
1 me gusta

Muchas gracias. Pero no pude usar limit=ALL ni siquiera como administrador con una clave global. El cliente necesita descargar todos los datos (actualmente no tengo claro cuál es el límite o qué tan grande será el conjunto).

¡Eso es exactamente lo que pretendía hacer el PR!

Las opciones son copias de seguridad o hacer paginación con

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

para obtenerlo en fragmentos de 5k.

¡Está funcionando!

¿El máximo para una consulta normal que estoy haciendo es 5000? Si es así, estoy definitivamente a salvo.

:laughing:

Parece que es 10k

2 Me gusta

Muchas gracias. Parece que de todos modos no necesitaba ese sin límite. :slight_smile:

He estado muy satisfecho de haber descubierto cómo usar las acciones de Github para extraer esta consulta diariamente y subirla al sitio FTP de un proveedor. Se ha roto dos veces en las últimas semanas. ¡Espero que esta sea la última vez por mucho tiempo!

1 me gusta