BigQuery Python: forespørgsler virker gennem proxyen, downloads fejler
Kontroller, om download af BigQuery Python-resultater opretter en Storage API-klient uafhængigt af forespørgslens HTTP-vej.
En forespørgsel kan gennemføres med succes og alligevel fejle, når resultatet downloades til pandas. BigQuery Python-biblioteket kan bruge en separat BigQuery Storage API-klient til den download.
RowIterator.to_dataframe-grænsefladen dokumenterer create_bqstorage_client, som som standard er true, og et bqstorage_client-argument. Læs disse indstillinger sammen med de afhængigheder, der findes i applikationen. Succes på den almindelige forespørgselsvej beviser ikke, at den valgfrie download-transport har samme proxyunderstøttelse eller konfiguration.
| Trin | Hvad der skal undersøges |
|---|---|
| Anskaffelse af legitimationsoplysninger | Legitimationsoplysningernes transport og identitetsslutpunktet |
| Indsendelse og polling af en forespørgsel | BigQuery-klientens anmodningsvej |
| Download via Storage API | Storage API-klienten og dens transport |
Til en kontrolleret sammenligning undgår den dokumenterede indstilling create_bqstorage_client=False automatisk at oprette den ekstra klient. Det kan hjælpe med at identificere, hvilken vej der fejler. Det er et transportvalg med ydelsesmæssige konsekvenser, ikke bevis for at selve proxyen er repareret.
Hvis applikationen leverer sin egen Storage API-klient, skal du konfigurere den klient bevidst. Antag ikke, at et brugerdefineret HTTP-objekt knyttet til en anden klient omkonfigurerer den.
Ældre eksempler diskuterer forældede httplib2-implementeringer eller private konstruktørkroge. Afstem integrationen med den installerede biblioteksgeneration, og bevar fejltrinnet i rapporten. En DataFrame-konverteringsfejl og en afvist netværksforbindelse er forskellige udfald, selv når de opstår i samme metodekald.