BigQuery Python: upiti rade kroz proxy, preuzimanja ne uspevaju
Proverite da li preuzimanje rezultata BigQuery Python stvara poseban Storage API klijent nezavisno od HTTP putanje upita.
Upit može uspešno da se završi i ipak ne uspe pri preuzimanju svog rezultata u pandas. Biblioteka BigQuery Python može za to preuzimanje da koristi poseban BigQuery Storage API klijent.
Interfejs RowIterator.to_dataframe dokumentuje create_bqstorage_client, čija je podrazumevana vrednost true, i argument bqstorage_client. Čitajte ta podešavanja zajedno sa zavisnostima prisutnim u aplikaciji. Uspeh na uobičajenoj putanji upita ne dokazuje da opcioni transport preuzimanja ima istu podršku za proxy ili istu konfiguraciju.
| Faza | Šta pregledati |
|---|---|
| Pribavljanje akreditiva | Transport akreditiva i endpoint identiteta |
| Slanje i anketiranje upita | Putanja zahteva BigQuery klijenta |
| Preuzimanje preko Storage API | Storage API klijent i njegov transport |
Za kontrolisano poređenje, dokumentovana opcija create_bqstorage_client=False izbegava automatsko stvaranje tog dodatnog klijenta. To može pomoći da se utvrdi koja putanja ne uspeva. To je izbor transporta sa posledicama na performanse, a ne dokaz da je sam proxy popravljen.
Ako aplikacija obezbeđuje sopstveni Storage API klijent, konfigurišite taj klijent namerno. Ne pretpostavljajte da prilagođeni HTTP objekat prikačen na drugi klijent rekonfiguriše ovaj.
Stariji primeri govore o zastarelim httplib2 implementacijama ili privatnim kukama konstruktora. Uskladite integraciju sa generacijom instalirane biblioteke i zadržite fazu neuspeha u izveštaju. Greška pri konverziji u DataFrame i odbijena mrežna veza su različiti ishodi čak i kada se jave u istom pozivu metoda.