BigQuery Python: poizvedbe delujejo prek proxyja, prenosi ne uspejo
Preverite, ali prenos rezultata BigQuery Python ustvari ločenega odjemalca Storage API neodvisno od poti HTTP poizvedbe.
Poizvedba se lahko uspešno zaključi in vseeno ne uspe pri prenosu njenega rezultata v pandas. Knjižnica BigQuery Python lahko za ta prenos uporabi ločenega odjemalca BigQuery Storage API.
Vmesnik RowIterator.to_dataframe dokumentira create_bqstorage_client, katerega privzeta vrednost je true, in argument bqstorage_client. Te nastavitve berite skupaj z odvisnostmi, ki so prisotne v aplikaciji. Uspeh na običajni poti poizvedbe ne dokazuje, da ima izbirni transport prenosa enako podporo proxyja ali enako konfiguracijo.
| Faza | Kaj pregledati |
|---|---|
| Pridobitev poverilnic | Transport poverilnic in končna točka identitete |
| Pošiljanje in preverjanje poizvedbe | Pot zahtevka odjemalca BigQuery |
| Prenos prek Storage API | Odjemalec Storage API in njegov transport |
Za nadzorovan primerjalni test dokumentirana možnost create_bqstorage_client=False prepreči samodejno ustvarjanje tega dodatnega odjemalca. To lahko pomaga ugotoviti, katera pot ne uspe. To je izbira transporta s posledicami za delovanje, ne dokaz, da je bil sam proxy popravljen.
Če aplikacija zagotavlja lastnega odjemalca Storage API, ga zavestno konfigurirajte. Ne predvidevajte, da bo prilagojeni objekt HTTP, pritrjen na drugega odjemalca, tega prekonfiguriral.
Starejši primeri obravnavajo zastarele implementacije httplib2 ali zasebne kavlje konstruktorja. Integracijo uskladite z generacijo nameščene knjižnice in fazo napake ohranite v poročilu. Napaka pretvorbe v DataFrame in zavrnjena omrežna povezava sta različna izida, tudi ko se zgodita v istem klicu metode.