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