O interogare se poate încheia cu succes și totuși poate eșua la descărcarea rezultatului în pandas. Biblioteca BigQuery Python poate folosi un client BigQuery Storage API separat pentru acea descărcare.

Interfața RowIterator.to_dataframe documentează create_bqstorage_client, a cărui valoare implicită este true, și un argument bqstorage_client. Citiți aceste setări împreună cu dependențele prezente în aplicație. Succesul pe calea obișnuită a interogării nu dovedește că transportul opțional de descărcare are același suport de proxy sau aceeași configurație.

EtapăCe trebuie inspectat
Obținerea acreditărilorTransportul acreditărilor și endpoint-ul de identitate
Trimiterea și interogarea unei cereriCalea cererii clientului BigQuery
Descărcarea prin Storage APIClientul Storage API și transportul său

Pentru o comparație controlată, opțiunea documentată create_bqstorage_client=False evită crearea automată a acelui client suplimentar. Acest lucru poate ajuta la identificarea căii care eșuează. Este o alegere de transport cu implicații de performanță, nu o dovadă că proxy-ul în sine a fost reparat.

Dacă aplicația furnizează propriul client Storage API, configurați deliberat acel client. Nu presupuneți că un obiect HTTP personalizat atașat altui client îl reconfigurează.

Exemplele mai vechi discută implementări httplib2 depășite sau cârlige private de constructor. Potriviți integrarea cu generația bibliotecii instalate și păstrați etapa de eșec în raport. O eroare de conversie DataFrame și o conexiune de rețea respinsă sunt rezultate diferite chiar și atunci când apar în același apel de metodă.

Articole similare