Algo mudou no data explorer? Não consigo obter a query via API

Isso parou de funcionar há dois dias para um cliente hospedado:


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

Eu vejo o uso bem-sucedido dessa chave:

Ela tem permissões apenas de consulta:

Eu verifiquei novamente se o URL da consulta não havia mudado, consultando Reverse engineer the Discourse API.

Então, gerei uma nova chave global e ainda estou recebendo um erro 400.

Eu não sei qual pode ser o problema.

400 ou 406?

Tente adicionar um cabeçalho Accept: application/json.

Espere. Eu encontrei:

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

Então o problema é -F "limit=ALL"

Então agora minha pergunta é por que isso parou de funcionar?

1 curtida
1 curtida

Muito obrigado. Mas eu não consegui usar limit=ALL, mesmo como administrador com uma chave global. O cliente precisa baixar todos os dados (atualmente não tenho clareza sobre qual é o limite ou quão grande o conjunto provavelmente será).

É exatamente isso que o PR visava fazer!

As opções são backups, ou fazer paginação com

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

assim você obtém em blocos de 5k.

Está funcionando!

O máximo para uma consulta normal que estou fazendo é 5000? Se for, estou definitivamente seguro.

:laughing:

Parece que é 10k

3 curtidas

Muito obrigado. Parece que eu não precisava daquele sem limite de qualquer maneira. :slight_smile:

Fiquei muito satisfeito por ter descoberto como usar as ações do Github para buscar diariamente esta consulta e carregá-la no site FTP de um fornecedor. Quebrou duas vezes nas últimas semanas. Espero que esta seja a última vez por um bom tempo!

1 curtida