BigQuery Python: upiti rade kroz proxy, preuzimanja ne uspijevaju
Provjerite stvara li preuzimanje rezultata u BigQuery Pythonu Storage API klijenta neovisno o HTTP putanji upita.
Upit se može uspješno dovršiti i ipak ne uspjeti pri preuzimanju rezultata u pandas. Biblioteka BigQuery Python može za to preuzimanje koristiti zasebnog klijenta BigQuery Storage API.
Sučelje RowIterator.to_dataframe dokumentira create_bqstorage_client, koji je prema zadanim postavkama true, i argument bqstorage_client. Čitajte te postavke zajedno sa ovisnostima prisutnima u aplikaciji. Uspjeh na uobičajenoj putanji upita ne dokazuje da opcionalni transport preuzimanja ima istu podršku ili konfiguraciju proxyja.
| Faza | Što 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 kontroliranu usporedbu, dokumentirana opcija create_bqstorage_client=False izbjegava automatsko stvaranje tog dodatnog klijenta. To može pomoći utvrditi koja putanja ne uspijeva. To je izbor transporta s utjecajem na izvedbu, a ne dokaz da je sam proxy popravljen.
Ako aplikacija pruža vlastitog klijenta Storage API, svjesno konfigurirajte tog klijenta. Ne pretpostavljajte da će prilagođeni HTTP objekt pridružen drugom klijentu prekonfigurirati ovaj.
Stariji primjeri govore o zastarjelim implementacijama httplib2 ili privatnim kukama konstruktora. Uskladite integraciju s instaliranom generacijom biblioteke i zadržite fazu neuspjeha u izvještaju. Pogreška pretvorbe u DataFrame i odbijena mrežna veza različiti su ishodi čak i kada se pojave u istom pozivu metode.