google/cloud-bigquery 1.39.3 में REST डिलीवरी और token अनुरोध के hooks एक proxy-जागरूक PSR अनुरोध handler साझा कर सकते हैं:

$proxy = 'http://proxy.example:8080';
$http = new \GuzzleHttp\Client();
$send = static function (
    \Psr\Http\Message\RequestInterface $request,
    array $options = []
) use ($http, $proxy) {
    $options['proxy'] = $proxy;
    return $http->send($request, $options);
};

$bigQuery = new \Google\Cloud\BigQuery\BigQueryClient([
    'projectId' => $projectId,
    'httpHandler' => $send,
    'authHttpHandler' => $send,
]);

callable हर अनुरोध पर Guzzle का proxy विकल्प सेट करता है, जिसमें HTTP proxy सूची से चुना गया सार्वजनिक HTTP endpoint भी शामिल है, और constructor वह callable httpHandler तथा authHttpHandler दोनों को देता है। यह REST डिलीवरी और उस hook का उपयोग करने वाले प्रमाणीकरण अनुरोधों को कवर करता है। समर्थित credential सेटअप बनाए रखें; भिन्न transport वाले credential के लिए उस transport की भी जाँच आवश्यक है।

आवश्यक सीधे अपवाद Guzzle की समर्थित proxy कॉन्फ़िगरेशन के माध्यम से जोड़ें। BigQuery API endpoint को सेवा का गंतव्य रखें: apiEndpoint में proxy पता रखना इस मार्ग को कॉन्फ़िगर करने के बजाय भिन्न सेवा चुनता है।

ये BigQueryClient constructor विकल्प हैं। ये न स्वतंत्र gRPC चैनल कॉन्फ़िगर करते हैं और अलग Google API PHP Client लाइब्रेरी में Google\Client के setHttpClient इंटरफ़ेस से भी मेल नहीं खाते।

संबंधित लेख