BigQuery Python: क्वेरी प्रॉक्सी से काम करती हैं, डाउनलोड विफल होते हैं
जाँचें कि BigQuery Python परिणाम डाउनलोड क्वेरी के HTTP पथ से स्वतंत्र रूप से Storage API क्लाइंट बनाता है या नहीं।
एक क्वेरी सफलतापूर्वक पूरी हो सकती है और फिर भी उसका परिणाम pandas में डाउनलोड करते समय विफल हो सकती है। BigQuery Python लाइब्रेरी उस डाउनलोड के लिए अलग BigQuery Storage API क्लाइंट का उपयोग कर सकती है।
RowIterator.to_dataframe इंटरफ़ेस create_bqstorage_client का दस्तावेज़ीकरण करता है, जो डिफ़ॉल्ट रूप से true है, और bqstorage_client तर्क का भी। उन सेटिंग्स को एप्लिकेशन में मौजूद निर्भरताओं के साथ पढ़ें। सामान्य क्वेरी पथ पर सफलता यह सिद्ध नहीं करती कि वैकल्पिक डाउनलोड ट्रांसपोर्ट के पास वही प्रॉक्सी समर्थन या कॉन्फ़िगरेशन है।
| चरण | क्या जाँचें |
|---|---|
| क्रेडेंशियल प्राप्त करना | क्रेडेंशियल ट्रांसपोर्ट और पहचान एंडपॉइंट |
| क्वेरी सबमिट करना और पोल करना | BigQuery क्लाइंट का अनुरोध पथ |
| Storage API के माध्यम से डाउनलोड करना | Storage API क्लाइंट और उसका ट्रांसपोर्ट |
नियंत्रित तुलना के लिए, प्रलेखित create_bqstorage_client=False विकल्प उस अतिरिक्त क्लाइंट को स्वचालित रूप से बनाने से बचता है। यह पहचानने में मदद कर सकता है कि कौन-सा पथ विफल होता है। यह प्रदर्शन प्रभावों वाला ट्रांसपोर्ट चुनाव है, यह प्रमाण नहीं कि प्रॉक्सी स्वयं ठीक हो गया।
यदि एप्लिकेशन अपना स्वयं का Storage API क्लाइंट प्रदान करता है, तो उस क्लाइंट को जानबूझकर कॉन्फ़िगर करें। यह न मानें कि किसी अन्य क्लाइंट से जुड़ा कस्टम HTTP ऑब्जेक्ट उसे पुनः कॉन्फ़िगर कर देगा।
पुराने उदाहरण अप्रचलित httplib2 कार्यान्वयन या निजी कंस्ट्रक्टर हुक पर चर्चा करते हैं। एकीकरण को स्थापित लाइब्रेरी पीढ़ी से मिलाएँ, और रिपोर्ट में विफलता चरण बनाए रखें। DataFrame रूपांतरण त्रुटि और अस्वीकृत नेटवर्क कनेक्शन अलग परिणाम हैं, भले ही वे एक ही मेथड कॉल में हों।