BigQuery PHP ਦੇ REST ਅਤੇ auth hooks ਨੂੰ proxy handler ਦਿਓ
google/cloud-bigquery 1.39.3 ਲਈ, ਜਦੋਂ ਦੋਵੇਂ ਮਾਰਗਾਂ ਨੂੰ ਵਿਚੋਲਾ ਲੋੜੀਂਦਾ ਹੋਵੇ ਤਾਂ ਉਹੀ callable httpHandler ਅਤੇ authHttpHandler ਨੂੰ ਦਿਓ।
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 ਇੰਟਰਫ਼ੇਸ ਨਾਲ ਵੀ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ।