BigQuery PHP-ning REST va auth kancalariga proxy handler bering
google/cloud-bigquery 1.39.3 uchun ikkala yo'l ham vositachiga muhtoj bo'lganda bir xil callable-ni httpHandler va authHttpHandler-ga bering.
google/cloud-bigquery 1.39.3 dagi REST yetkazib berish va token so'rovi kancalari proxy-ni taniydigan PSR so'rov handlerini baham ko'rishi mumkin:
$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 har bir so'rovda Guzzle-ning proxy opsiyasini o'rnatadi, HTTP proxy ro'yxatidan tanlangan ommaviy HTTP endpoint ham shu jumladan, va konstruktor bu callable-ni ham httpHandler, ham authHttpHandler ga beradi. Bu REST yetkazib berishni va shu kancadan foydalanadigan autentifikatsiya so'rovlarini qamrab oladi. Qo'llab-quvvatlanadigan credential sozlamasini saqlang; boshqa transportga ega credential uchun o'sha transport ham tekshirilishi kerak.
Kerakli to'g'ridan-to'g'ri istisnolarni Guzzle-ning qo'llab-quvvatlanadigan proxy konfiguratsiyasi orqali qo'shing. BigQuery API endpoint-ni xizmat manzili sifatida saqlang: apiEndpoint ga proxy manzilini qo'yish bu yo'nalishni sozlash o'rniga boshqa xizmatni tanlaydi.
Bular BigQueryClient konstruktor opsiyalari. Ular mustaqil gRPC kanalini sozlamaydi va alohida Google API PHP Client kutubxonasidagi Google\Client ning setHttpClient interfeysiga ham mos kelmaydi.