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

Похожие статьи