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 и отклонённое сетевое соединение — разные исходы, даже если происходят в одном вызове метода.