BigQuery Python: заявките минават през проксито, но изтеглянията се провалят
Проверете дали изтеглянето на резултат в BigQuery Python създава клиент на Storage API независимо от HTTP пътя на заявката.
Една заявка може да завърши успешно и въпреки това да се провали при изтеглянето на резултата в pandas. Библиотеката BigQuery Python може да използва отделен клиент на BigQuery Storage API за това изтегляне.
Интерфейсът RowIterator.to_dataframe документира create_bqstorage_client, който по подразбиране е true, и аргумент bqstorage_client. Прочетете тези настройки заедно със зависимостите, налични в приложението. Успехът по обичайния път на заявката не доказва, че незадължителният транспорт за изтегляне има същата поддръжка или конфигурация на прокси.
| Етап | Какво да се провери |
|---|---|
| Получаване на идентификационни данни | Транспортът на идентификационните данни и крайната точка за самоличност |
| Подаване и многократно проверяване на заявка | Пътят на заявката на клиента на BigQuery |
| Изтегляне през Storage API | Клиентът на Storage API и неговият транспорт |
За контролирано сравнение документираната опция create_bqstorage_client=False избягва автоматичното създаване на този допълнителен клиент. Това може да помогне да се установи кой път се проваля. Това е избор на транспорт с последици за производителността, а не доказателство, че самото прокси е поправено.
Ако приложението предоставя свой собствен клиент на Storage API, конфигурирайте този клиент съзнателно. Не предполагайте, че персонализиран HTTP обект, прикачен към друг клиент, ще го пренастрои.
По-стари примери обсъждат остарели реализации на httplib2 или частни конструкторски куки. Съобразете интеграцията с инсталираното поколение на библиотеката и запазете етапа на отказа в отчета. Грешка при преобразуване на DataFrame и отхвърлена мрежова връзка са различни резултати, дори когато се случват в едно и също извикване на метод.