Una query può completarsi correttamente e fallire comunque durante il download del risultato in pandas. La libreria BigQuery Python può usare un client BigQuery Storage API separato per quel download.

L'interfaccia RowIterator.to_dataframe documenta create_bqstorage_client, che per impostazione predefinita è true, e un argomento bqstorage_client. Leggete queste impostazioni insieme alle dipendenze presenti nell'applicazione. Il successo sul percorso di query ordinario non dimostra che il trasporto di download opzionale abbia lo stesso supporto o la stessa configurazione del proxy.

FaseCosa ispezionare
Acquisizione delle credenzialiIl trasporto delle credenziali e l'endpoint di identità
Invio e sondaggio di una queryIl percorso di richiesta del client BigQuery
Download tramite Storage APIIl client Storage API e il suo trasporto

Per un confronto controllato, l'opzione documentata create_bqstorage_client=False evita di creare automaticamente quel client aggiuntivo. Può aiutare a identificare quale percorso fallisce. È una scelta di trasporto con implicazioni sulle prestazioni, non la prova che il proxy stesso sia stato riparato.

Se l'applicazione fornisce un proprio client Storage API, configurate quel client in modo deliberato. Non date per scontato che un oggetto HTTP personalizzato collegato a un altro client lo riconfiguri.

Gli esempi più vecchi parlano di implementazioni httplib2 obsolete o di hook di costruttore privati. Allineate l'integrazione alla generazione di libreria installata e conservate la fase di errore nel rapporto. Un errore di conversione DataFrame e una connessione di rete rifiutata sono esiti diversi anche quando si verificano nella stessa chiamata di metodo.

Articoli correlati