Дайте на REST и auth куките на BigQuery PHP proxy манипулатора
За google/cloud-bigquery 1.39.3 подайте същия callable на httpHandler и authHttpHandler, когато и двата пътя се нуждаят от посредника.
Куките за REST доставяне и за заявки за токен в google/cloud-bigquery 1.39.3 могат да споделят PSR манипулатор на заявки, съобразен с proxy:
$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 задава опцията proxy на Guzzle при всяка заявка, включително публична HTTP крайна точка, избрана от списъка с HTTP proxy, а конструкторът подава този callable и на httpHandler, и на authHttpHandler. Това покрива REST доставянето и заявките за удостоверяване, които използват тази кука. Запазете поддържаната настройка на идентификационните данни; идентификационни данни с друг транспорт изискват проверка и на този транспорт.
Добавете необходимите директни изключения чрез поддържаната proxy конфигурация на Guzzle. Запазете крайната точка на BigQuery API като дестинация на услугата: поставянето на proxy адрес в apiEndpoint избира друга услуга, вместо да конфигурира този маршрут.
Това са опции на конструктора на BigQueryClient. Те не конфигурират независим gRPC канал и не съответстват в Google\Client на интерфейса setHttpClient в отделната библиотека Google API PHP Client.