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.

PhaseWas zu prüfen ist
Abruf von AnmeldedatenDer Transport der Anmeldedaten und der Identitätsendpunkt
Absenden und Abfragen einer AbfrageDer Anfragepfad des BigQuery-Clients
Download über die Storage APIDer 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.

Ähnliche Artikel