BigQuery Python: upiti rade kroz proxy, preuzimanja ne uspijevaju
Provjerite da li preuzimanje rezultata u BigQuery Python stvara Storage API klijent nezavisno od HTTP putanje upita.
Upit se može uspješno završiti i ipak ne uspjeti pri preuzimanju rezultata u pandas. Biblioteka BigQuery Python može za to preuzimanje koristiti zaseban BigQuery Storage API klijent.
Sučelje RowIterator.to_dataframe dokumentira create_bqstorage_client, koji je prema zadanim postavkama true, i argument bqstorage_client. Čitajte te postavke zajedno sa zavisnostima prisutnim u aplikaciji. Uspjeh na uobičajenoj putanji upita ne dokazuje da opcionalni transport za preuzimanje ima istu podršku ili konfiguraciju proxyja.
| Faza | Šta provjeriti |
|---|---|
| Pribavljanje vjerodajnica | Transport vjerodajnica i krajnja točka identiteta |
| Slanje i provjera upita | Putanja zahtjeva BigQuery klijenta |
| Preuzimanje kroz Storage API | Storage API klijent i njegov transport |
Za kontrolirano poređenje, dokumentirana opcija create_bqstorage_client=False izbjegava automatsko stvaranje tog dodatnog klijenta. To može pomoći da se utvrdi koja putanja ne uspijeva. To je izbor transporta s implikacijama na performanse, a ne dokaz da je sam proxy popravljen.
Ako aplikacija pruža vlastiti Storage API klijent, svjesno konfigurirajte taj klijent. Ne pretpostavljajte da će prilagođeni HTTP objekt pridružen drugom klijentu prekonfigurirati ovaj.
Stariji primjeri govore o zastarjelim httplib2 implementacijama ili privatnim kukama konstruktora. Uskladite integraciju s instaliranom generacijom biblioteke i zadržite fazu neuspjeha u izvještaju. Greška pretvorbe u DataFrame i odbijena mrežna veza različiti su ishodi čak i kada se pojave u istom pozivu metode.