BigQuery Python: Abfragen laufen über den Proxy, Downloads schlagen fehl
Prüfen Sie, ob der Ergebnis-Download von BigQuery Python einen Storage-API-Client unabhängig vom HTTP-Pfad der Abfrage erstellt.
Eine Abfrage kann erfolgreich abgeschlossen werden und beim Herunterladen ihres Ergebnisses nach pandas dennoch fehlschlagen. Die BigQuery-Python-Bibliothek kann für diesen Download einen separaten BigQuery-Storage-API-Client verwenden.
Die Schnittstelle RowIterator.to_dataframe dokumentiert create_bqstorage_client, das standardmäßig true ist, sowie ein Argument bqstorage_client. Lesen Sie diese Einstellungen zusammen mit den in der Anwendung vorhandenen Abhängigkeiten. Ein Erfolg auf dem gewöhnlichen Abfragepfad beweist nicht, dass der optionale Download-Transport dieselbe Proxy-Unterstützung oder -Konfiguration hat.
| Phase | Was zu prüfen ist |
|---|---|
| Abruf von Anmeldedaten | Der Transport der Anmeldedaten und der Identitätsendpunkt |
| Absenden und Abfragen einer Abfrage | Der Anfragepfad des BigQuery-Clients |
| Download über die Storage API | Der Storage-API-Client und sein Transport |
Für einen kontrollierten Vergleich vermeidet die dokumentierte Option create_bqstorage_client=False das automatische Erstellen dieses zusätzlichen Clients. Das kann helfen, den fehlerhaften Pfad zu identifizieren. Es ist eine Transportentscheidung mit Auswirkungen auf die Leistung, kein Beleg dafür, dass der Proxy selbst repariert wurde.
Wenn die Anwendung einen eigenen Storage-API-Client bereitstellt, konfigurieren Sie diesen Client bewusst. Gehen Sie nicht davon aus, dass ein benutzerdefiniertes HTTP-Objekt, das an einen anderen Client angehängt ist, diesen neu konfiguriert.
Ältere Beispiele behandeln veraltete httplib2-Implementierungen oder private Konstruktor-Hooks. Gleichen Sie die Integration mit der installierten Bibliotheksgeneration ab und behalten Sie die Fehlerphase im Bericht bei. Ein DataFrame-Konvertierungsfehler und eine abgelehnte Netzwerkverbindung sind unterschiedliche Ergebnisse, auch wenn sie im selben Methodenaufruf auftreten.