BigQuery PHP-യുടെ REST, auth ഹുക്കുകൾക്ക് proxy handler നൽകുക
google/cloud-bigquery 1.39.3-ന്, രണ്ട് വഴികൾക്കും ഇടനിലക്കാരൻ വേണ്ടിവരുമ്പോൾ അതേ callable httpHandler-നും authHttpHandler-നും നൽകുക.
google/cloud-bigquery 1.39.3-ലെ REST ഡെലിവറി, token അഭ്യർത്ഥന ഹുക്കുകൾക്ക് 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 ഡെലിവറിയും ആ ഹുക്ക് ഉപയോഗിക്കുന്ന പ്രാമാണീകരണ അഭ്യർത്ഥനകളും ഉൾക്കൊള്ളുന്നു. പിന്തുണയുള്ള credential ക്രമീകരണം നിലനിർത്തുക; മറ്റൊരു transport ഉള്ള credential-ന് ആ transport-ഉം പരിശോധിക്കേണ്ടതുണ്ട്.
ആവശ്യമായ നേരിട്ടുള്ള ഒഴിവുകൾ Guzzle പിന്തുണയ്ക്കുന്ന proxy കോൺഫിഗറേഷൻ വഴി ചേർക്കുക. BigQuery API endpoint സേവനത്തിന്റെ ലക്ഷ്യമായി നിലനിർത്തുക: apiEndpoint-ൽ proxy വിലാസം ഇടുന്നത് ഈ റൂട്ട് ക്രമീകരിക്കുന്നതിനുപകരം മറ്റൊരു സേവനം തിരഞ്ഞെടുക്കുന്നു.
ഇവ BigQueryClient constructor ഓപ്ഷനുകളാണ്. അവ സ്വതന്ത്ര gRPC ചാനൽ ക്രമീകരിക്കുന്നില്ല, കൂടാതെ പ്രത്യേക Google API PHP Client ലൈബ്രറിയിലെ Google\Client-ന്റെ setHttpClient ഇന്റർഫേസുമായി യോജിക്കുന്നുമില്ല.