BigQuery Python: as consultas funcionan a través do proxy, as descargas fallan
Comprobe se a descarga de resultados de BigQuery Python crea un cliente de Storage API independentemente da ruta HTTP da consulta.
Unha consulta pode completarse correctamente e aínda así fallar ao descargar o seu resultado en pandas. A biblioteca BigQuery Python pode empregar un cliente de BigQuery Storage API separado para esa descarga.
A interface RowIterator.to_dataframe documenta create_bqstorage_client, que por defecto é true, e un argumento bqstorage_client. Lea eses axustes xunto coas dependencias presentes na aplicación. O éxito na ruta habitual da consulta non demostra que o transporte opcional de descarga teña o mesmo soporte nin a mesma configuración de proxy.
| Etapa | Que inspeccionar |
|---|---|
| Obtención de credenciais | O transporte de credenciais e o punto final de identidade |
| Envío e sondaxe dunha consulta | A ruta de solicitude do cliente de BigQuery |
| Descarga mediante Storage API | O cliente de Storage API e o seu transporte |
Para unha comparación controlada, a opción documentada create_bqstorage_client=False evita crear automaticamente ese cliente adicional. Iso pode axudar a identificar que ruta falla. É unha elección de transporte con implicacións de rendemento, non unha proba de que o proxy se reparase.
Se a aplicación fornece o seu propio cliente de Storage API, configure ese cliente deliberadamente. Non asuma que un obxecto HTTP personalizado conectado a outro cliente o reconfigurará.
Os exemplos máis antigos falan de implementacións obsoletas de httplib2 ou de ganchos de construtor privados. Axuste a integración á xeración de biblioteca instalada e conserve a etapa de fallo no informe. Un erro de conversión a DataFrame e unha conexión de rede rexeitada son resultados distintos mesmo cando ocorren na mesma chamada ao método.