BigQuery Python: kueri berjalan melalui proxy, unduhan gagal
Periksa apakah pengunduhan hasil BigQuery Python membuat klien Storage API secara terpisah dari jalur HTTP kueri.
Sebuah kueri dapat selesai dengan sukses dan tetap gagal saat mengunduh hasilnya ke pandas. Pustaka BigQuery Python dapat memakai klien BigQuery Storage API terpisah untuk pengunduhan itu.
Antarmuka RowIterator.to_dataframe mendokumentasikan create_bqstorage_client, yang secara bawaan bernilai true, dan argumen bqstorage_client. Bacalah pengaturan itu bersama dependensi yang ada di aplikasi. Keberhasilan pada jalur kueri biasa tidak membuktikan bahwa transport pengunduhan opsional memiliki dukungan atau konfigurasi proxy yang sama.
| Tahap | Apa yang perlu diperiksa |
|---|---|
| Perolehan kredensial | Transport kredensial dan endpoint identitas |
| Mengirim dan memantau kueri | Jalur permintaan klien BigQuery |
| Mengunduh melalui Storage API | Klien Storage API dan transportnya |
Untuk perbandingan terkendali, opsi terdokumentasi create_bqstorage_client=False menghindari pembuatan klien tambahan itu secara otomatis. Itu dapat membantu mengenali jalur mana yang gagal. Ini pilihan transport dengan implikasi kinerja, bukan bukti bahwa proxy itu sendiri telah diperbaiki.
Jika aplikasi menyediakan klien Storage API sendiri, konfigurasikan klien itu secara sengaja. Jangan mengasumsikan objek HTTP khusus yang terpasang pada klien lain akan mengonfigurasinya ulang.
Contoh lama membahas implementasi httplib2 yang usang atau kait konstruktor privat. Sesuaikan integrasi dengan generasi pustaka yang terpasang, dan pertahankan tahap kegagalan dalam laporan. Kesalahan konversi DataFrame dan koneksi jaringan yang ditolak adalah hasil berbeda meskipun terjadi pada pemanggilan metode yang sama.