คิวรีอาจเสร็จสมบูรณ์ได้แต่ยังล้มเหลวเมื่อดาวน์โหลดผลลัพธ์ลงใน pandas ไลบรารี BigQuery Python อาจใช้ไคลเอนต์ BigQuery Storage API แยกต่างหากสำหรับการดาวน์โหลดนั้น

อินเทอร์เฟซ RowIterator.to_dataframe ระบุ create_bqstorage_client ซึ่งมีค่าเริ่มต้นเป็น true และอาร์กิวเมนต์ bqstorage_client อ่านการตั้งค่าเหล่านั้นร่วมกับ dependencies ที่มีอยู่ในแอปพลิเคชัน ความสำเร็จบนเส้นทางคิวรีปกติไม่ได้พิสูจน์ว่าทรานสปอร์ตการดาวน์โหลดแบบเลือกได้มีการรองรับพร็อกซีหรือการกำหนดค่าเดียวกัน

ขั้นตอนสิ่งที่ต้องตรวจสอบ
การได้มาซึ่งข้อมูลรับรองทรานสปอร์ตของข้อมูลรับรองและ endpoint ของ identity
การส่งและสำรวจคิวรีเส้นทางคำขอของไคลเอนต์ BigQuery
การดาวน์โหลดผ่าน Storage APIไคลเอนต์ Storage API และทรานสปอร์ตของมัน

สำหรับการเปรียบเทียบแบบควบคุม ตัวเลือก create_bqstorage_client=False ที่มีเอกสารระบุไว้จะหลีกเลี่ยงการสร้างไคลเอนต์เพิ่มเติมนั้นโดยอัตโนมัติ ซึ่งช่วยระบุได้ว่าเส้นทางใดล้มเหลว นี่เป็นการเลือกทรานสปอร์ตที่มีผลต่อประสิทธิภาพ ไม่ใช่หลักฐานว่าพร็อกซีเองได้รับการซ่อมแซม

หากแอปพลิเคชันจัดหาไคลเอนต์ Storage API ของตัวเอง ให้กำหนดค่าไคลเอนต์นั้นอย่างตั้งใจ อย่าสันนิษฐานว่าออบเจ็กต์ HTTP ที่กำหนดเองซึ่งแนบกับไคลเอนต์อื่นจะกำหนดค่าใหม่ให้กับมัน

ตัวอย่างเก่ากล่าวถึงการใช้งาน httplib2 ที่ล้าสมัยหรือฮุกของ constructor แบบส่วนตัว จับคู่การผสานรวมกับรุ่นของไลบรารีที่ติดตั้งไว้ และเก็บขั้นตอนที่ล้มเหลวไว้ในรายงาน ข้อผิดพลาดในการแปลงเป็น DataFrame และการเชื่อมต่อเครือข่ายที่ถูกปฏิเสธเป็นผลลัพธ์ที่แตกต่างกันแม้จะเกิดขึ้นในการเรียกเมธอดเดียวกัน

บทความที่เกี่ยวข้อง